Programmatismìc epilôth 3D exis sewn ro c atriboôc reustoô se domhmèna plègmata, se kˆrtec grafik n

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Programmatismìc epilôth 3D exis sewn ro c atriboôc reustoô se domhmèna plègmata, se kˆrtec grafik n"

Transcript

1 Εθνικό Μετσόβιο Πολυτεχνείο Σχολη Μηχανολογων Μηχανικων Τομεας Ρευστων Εργαστηριο Θερμικων Στροβιλομηχανων Μοναδα Παραλληλης Υπολογιστικης Ρευστοδυναμικης και Βελτιστοποιησης Programmatismìc epilôth 3D exis sewn ro c atriboôc reustoô se domhmèna plègmata, se kˆrtec grafik n Diplwmatik ErgasÐa Iwˆnnhc S. KabbadÐac Epiblèpwn: K.Q. Giannˆkoglou Kajhght c EMP Okt brioc 2011

2

3 Ευχαριστίες Από τη θέση αυτή θα ήθελα να ευχαριστήσω τον επιβλέποντα της διπλωματικής μου εργασίας Κ. Γιαννάκογλου, Καθηγητή ΕΜΠ, για τη δυνατότητα που μου έδωσε να ασχοληθώ με το παρόν αντικείμενο, για την καθοδήγησή του καθώς και την δυνατότητα χρήσης του τεχνικού εξοπλισμού της Μονάδας Παράλληλης Υπολογιστικής Ρευστοδυναμικής & Βελτιστοποίησης. Επίσης θα ήθελα να ευχαριστήσω τον υποψήφο διδάκτορα Ξ. Τρομπούκη, τη Δρ. Β. Ασούτη καθώς και όλη την υπόλοιπη ερευνητική ομάδα της Μονάδας Παράλληλης Υπολογιστικής Ρευστοδυναμικής & Βελτιστοποίησης για την πολύτιμη βοήθειά τους ανεξαρτήτως ώρας και μέρας. Τέλος, θέλω να ευχαριστήσω τους φίλους μου και την οικογένειά μου για την συνεχή υποστήριξη που μου προσέφεραν όλα αυτά τα χρόνια.

4

5 Στη μνήμη του πατέρα μου.

6

7 Εθνικό Μετσόβιο Πολυτεχνείο Σχολη Μηχανολογων Μηχανικων Τομεας Ρευστων Εργαστηριο Θερμικων Στροβιλομηχανων Μοναδα Παραλληλης Υπολογιστικης Ρευστοδυναμικης και Βελτιστοποιησης Programmatismìc epilôth 3D exis sewn ro c atriboôc reustoô se domhmèna plègmata, se kˆrtec grafik n. Διπλωματική Εργασία Ιωάννη Σ. Καββαδία Επιβλέπων: Κ.Χ. Γιαννάκογλου Καθηγητής ΕΜΠ Οκτώβριος 2011 Τα τελευταία τρία έτη, η Μονάδα Παράλληλης Υπολογιστικής Ρευστοδυναμικής & Βελτιστοποίησης του Εργαστηρίου Θερμικών Στροβιλομηχανών (ΕΘΣ) του ΕΜΠ δραστηριοποιείται ερευνητικά στην εκμετάλλευση των δυνατοτήτων των καρτών γραφικών σε κώδικες και εφαρμογές υπολογιστικής ρευστοδυναμικής και βελτιστοποίησης. Σχετικά με τους επιλύτες των εξισώσεων ροής (εξισώσεις Euler, Navier- Stokes), το λογισμικό που ήδη έχει αναπτυχθεί σε CUDA C δίνει, σε κάρτες γραφικών τελευταίας τεχνολογίας της NVIDIA, επιταχύνσεις μεγαλύτερες του 40, ανάλογα με το πλέγμα, την εφαρμογή κλπ. Οι επιλύτες που αναπτύχθηκαν χειρίζονται μηδομημένα πλέγματα με μεθόδους πεπερασμένων όγκων κεντροκομβικής διατύπωσης των εξισώσεων. Η χρήση μη-δομημένου πλέγματος με κεντροκομβική διατύπωση είναι, προφανώς, η δυσμενέστερη περίπτωση από την πλευρά της αποδοτικής χρήσης μνήμης στις κάρτες γραφικών. Στην παρούσα διπλωματική εργασία διερευνάται η χρήση δομημένων πλεγμάτων για την αποδοτικότερη αξιοποίηση των δυνατοτήτων των καρτών γραφικών, σε εφαρμογές υπολογιστικής ρευστοδυναμικής. Ετσι, στη διπλωματική αυτή εργασία, αναπτύχθηκε/προγραμματίστηκε (σε CUDA C) επιλύτης των 3Δ εξισώσεων Euler συμπιεστού ρευστού με χρήση δομημένων πλεγμάτων, η διακριτοποίηση των οποίων γίνεται με σχήμα πεπερασμένων όγκων κεντροκομβικής διατύπωσης και η επίλυσή τους γίνεται με χρήση μεθόδου χρονοπροέλασης (time marching). Η ανάπτυξη του επιλύτη ροών για δομημένα πλέγματα βασίστηκε στον υπάρχοντα επιλύτη ροών για μη-δομημένα πλέγματα του ΕΘΣ, σε κάρτες γραφικών. Ο προγραμματισθείς κώδικας, εκτελούμενος σε μία κάρτα γραφικών NVIDIA TESLA M2050, συγκρίθηκε με τον υπάρχοντα οικείο και πιστοποιημένο κώδικα σε FORTRAN, που έτρεξε σε έναν πυρήνα του κεντρικού επεξεργαστή. Η λύση της ροής και η σύγκλιση που παράγουν οι δύο επιλύτες είναι ταυτόσημη και η σύγκριση των επιδόσεων των επιλυτών, τελικά, παρουσιάζει το αναμενόμενο κέρδος από τη χρήση δομημένων πλεγμάτων, με τον επιλύτη της κάρτας γραφικών να δίνει επιτάχυνση μεγαλύτερη του 50.

8

9 National Technical University of Athens Department of Mechanical Engineering Fluids Section Laboratory of Thermal Turbomachines Parallel CFD & Optimization Unit Programming of a GPU-enabled 3D Euler equations solver on structured grids Diploma Thesis Ioannis S. Kavvadias Advisor: K.C. Giannakoglou October 2011 In the last three years, the Parallel CFD & Optimization Unit of the Lab. of Thermal Turbomachines of the National Technical University of Athens is focusing on the exploitation of the computational power of new generation Graphics Processing Units (GPU) for CFD and Optimization software and applications. In the field of CFD, in-house solvers, for both the Euler and Navier-Stokes equations, have already been programmed in CUDA C. These codes, running on modern NVIDIA GPU, have achieved speed ups greater than 40 (compared to a modern CPU), depending on the grid in use, the application etc. The above solvers use vertex-centered finite volume methods for unstructured grids which is the worst-case scenario when trying to exploit the full extent of a GPU s computational power. In this diploma thesis, the use of structured grids is tried out instead of unstructured grids because, by that way, it is expected to have a better exploitation of the computational power of a GPU. So, a 3D compressible Euler equations solver was programmed (using CUDA C), using a vertex-centered finite volume method for structured grids and a time-marching method. The development of the structured grid solver was based on the in-house GPU-enabled unstructured grid solver. Performance tests w- ere carried out between the GPU-enabled solver running on a single NVIDIA TESLA M2050 GPU and the certified CPU-enabled solver of the Parallel CFD & Optimization Unit, programmed using FORTRAN, running on a single core of a CPU. The results of both solvers are identical and the speed-up between the GPU and the CPU is greater than 50, as expected.

10

11 Περιεχόμενα 1 Εισαγωγή Οι Κάρτες Γραφικών σήμερα Ανάπτυξη εφαρμογών σε GPU Στόχος της διπλωματικής εργασίας Δομή της εργασίας Αρχιτεκτονική και περιβάλλον CUDA Παράδειγμα αλγορίθμου-επίλυση εξίσωσης Laplace Αρχιτεκτονική CUDA Η Δομή μιας GPU αρχιτεκτονικής CUDA Πυρήνας CUDA Warp Scheduler & Instruction Dispatch Unit Load/Store Units Special Function Units Διαθέσιμες Μνήμες Αλλες προγραμματιστικές δυνατότητες Παρουσίαση των τριδιάστατων εξισώσεων Euler και διακριτοποίησης αυτών Οι χρονικά μόνιμες εξισώσεις Euler Διαφορική γραφή των χρονικά μόνιμων εξισώσεων Euler Αδιαστατοποίηση των εξισώσεων Διακριτοποίηση του χωρίου ροής Διακριτοποίηση των εξισώσεων ροής Ορισμός όγκων ελέγχου Ολοκλήρωση στους όγκους ελέγχου Υπολογισμός διανύσματος ροής Αύξηση της ακρίβειας του σχήματος και χρήση περιοριστών Διακριτοποίηση του χρονικού όρου και επιλογή του χρονικού βήματος Οριακές συνθήκες Στερεά Τοιχώματα Ορια εισόδου και εξόδου της ροής Αξονική συμμετρία i

12 3.4.4 Περιοδικά όρια Επίλυση διακριτοποιημένων εξισώσεων Μέθοδος αριθμητικής επίλυσης Αριστερό μέλος του όρου μεταφοράς Αριστερό μέλος των οριακών συνθηκών Διαφορική γραφή των χρονικά μη-μόνιμων εξισώσεων Euler Προγραμματισμός Επιλύτη εξισώσεων Euler σε GPU Γενικά ζητήματα προγραμματισμού σε GPU Καταμερισμός εργασίας σε kernels Αποθήκευση πινάκων δύο η περισσότερων διαστάσεων Γενική εποπτεία του κώδικα επίλυσης της ροής Ανάπτυξη επιλύτη σε προγραμματιστικό επίπεδο Αποθήκευση πινάκων Διαχωρισμός σε επιμέρους kernels Χρήση constant μνήμης Υπολογισμός χωρικής παραγώγου Υπολογισμός σχήματος Roe Συνεισφορά του χρονικού όρου στο υπόλοιπο των εξισώσεων της ροής Υπολογισμός του υπολοίπου των εξισώσεων της ροής Συνεισφορά ψευδοχρονικού και χρονικού όρου και προεργασία επίλυσης σχήματος Jacobi Επίλυση σχήματος Jacobi Ανανέωση λύσης Χρωματισμός και διαχείριση πλέγματος Αποτελέσματα και συγκριτικές επιδόσεις Επίλυση ροής μέσα σε αγωγό Επίλυση ροής μέσα σε πτερύγωση στροβίλου Συγκριτικές επιδόσεις ανάμεσα σε GPU και CPU Ανακεφαλαίωση και Συμπεράσματα. 6-1 ii

13 Κεφάλαιο 1 Εισαγωγή Ενα από τα βασικά προβλήματα που αντιμετωπίζει η υπολογιστική ρευστοδυναμική, στο σημερινό της επίπεδο, είναι η έλλειψη υπολογιστικής ισχύος, καθώς η επίλυση των θεωρητικών μοντέλων προσομοίωσης ροής είναι χρονοβόρα και ο χρόνος που απαιτείται είναι ακόμα και απαγορευτικός, σε κάποιες περιπτώσεις, για την βιομηχανία. Στην παρούσα εργασία εξετάζεται η χρήση κάρτας γραφικών (GPU, Graphics Processing Units), αντί του κεντρικού επεξεργαστή του υπολογιστή (CPU, Central Processing Unit) στην Υπολογιστική Ρευστοδυναμική, αφού οι σημερινές GPU προσφέρουν υπολογιστική ισχύ μεγαλύτερη των CPU τουλάχιστον κατά μία τάξη μεγέθους, όπως φαίνεται και στα σχήματα 1.1 και 1.2. Για το σκοπό αυτό αναπτύχθηκε και πιστοποιήθηκε επιλύτης των εξισώσεων Euler, συμβατός με εκτέλεση σε GPU, και αξιολογήθηκε η απόδοσή του συγκριτικά με τον αντίστοιχο επιλύτη σχεδιασμένο για εκτέλεση από την CPU. Η σύγκριση έγινε με χρήση GPU και CPU τελευταίας τεχνολογίας. 1.1 Οι Κάρτες Γραφικών σήμερα. Μέχρι πριν από λίγα χρόνια, η ισχύς ενός υπολογιστή εξαρτάτο από την ταχύτητα χρονισμού του πυρήνα της CPU και για την επίτευξη μεγαλύτερης υπολογιστικής ισχύος χρειαζόταν πιο γρήγορος χρονισμός (clock rate). Ομως, η ενέργεια που απαιτείται για τη λειτουργία του επεξεργαστή είναι ανάλογη του τετραγώνου της ταχύτητας χρονισμού του πυρήνα του. Ετσι φαίνεται πως η συνεχής αύξηση της ταχύτητας χρονισμού του πυρήνα του επεξεργαστή δεν είναι αποδεκτή λύση καθώς οδηγεί σε δυσανάλογα μεγάλη κατανάλωση ενέργειας. Για αυτό το λόγο οι κατασκευαστές ξεκίνησαν να αυξάνουν το πλήθος των πυρήνων ανά επεξεργαστή, αντί της ταχύτητας χρονισμού του κάθε πυρήνα ξεχωριστά. Η τεχνική αυτή έχει γίνει ευρέως αποδεκτή και, σήμερα, υπάρχουν στην παραγωγή επεξεργαστές που αποτελούνται μέχρι και απο 12 πυρήνες ενώ ετοιμάζονται επεξεργαστές 16 πυρήνων. Την ίδια τεχνική χρήσης πολλών πυρήνων χρησιμοποιούν και οι GPU, οι οποίες ακολουθούν πλήρως παράλληλη λογική και αποτελούνται από εκατοντάδες πυρήνες η καθεμιά. Συγκριτικά με τους πυρήνες των CPU, οι πυρήνες των GPU είναι αισθητά 1-1

14 Σχήμα 1.1: Ταχύτητα εκτέλεσης πράξεων κινητής υποδιαστολής [1]. πιο αργοί όμως, λόγω του πλήθους τους, οι σημερινές GPU πετυχαίνουν ταχύτητες επεξεργασίας δεδομένων πολλαπλάσιες των αντίστοιχων που επιτυγχάνονται από τις CPU. Ετσι, τα τελευταία χρόνια αναπτύχθηκαν GPU αρχιτεκτονικών συμβατών με τα διεθνή πρότυπα εκτέλεσης πράξεων καθώς και μέθοδοι προγραμματισμού των GPU αυτών βασισμένες σε γλώσσες προγραμματισμού όπως η C/C++, η FORTRAN και η OpenCL. Οι αρχιτεκτονικές αυτές είναι η CUDA, που αντιστοιχεί στα αρχικά των «Compute Unified Device Architecture», και η εξέλιξη της τεχνολογίας των Streams, οι οποίες αναπτύχθηκαν από τις εταιρίες NVIDIA και ATI αντίστοιχα. Η ATI ονομάζει την καινούργια αυτή τεχνολογία AMD APP, όπου τα αρχικά APP σημαίνουν Accelerated Parallel Processing. Και οι δύο αρχιτεκτονικές, αν και αναπτύχθηκαν ξεχωριστά, επιτρέπουν τον παράλληλο προγραμματισμό των GPU για οποιαδήποτε εφαρμογή. Αυτό είναι γνωστό και ως General-Purpose Computing on Graphics Processing Units ή GPGPU. Ακόμα ένα σημαντικό πλεονέκτημα των GPU συγκριτικά με τις CPU είναι το χαμηλό κόστος κτήσης. Η ραγδαία αύξηση των δυνατοτήτων των GPU τα τελευταία χρόνια οφείλεται σε μεγάλο βαθμό στις απαιτήσεις της παιχνιδοβιομηχανίας για καλύτερα και πιο αληθοφανή γραφικά. Οπότε, δεν θα αρκούσε η δημιουργία πολύ ισχυρών GPU αν το αγοραστικό κοινό δεν ήταν σε θέση να τις αποκτήσει. Στη σημερινή πραγματικότητα, μία GPU μπορεί να έχει εντυπωσιακές αποδόσεις, ενώ το κόστος της είναι μόλις ένα κλάσμα της τιμής κτήσης ενός αντίστοιχου υπολογιστικού συστήματος. 1-2

15 Σχήμα 1.2: Εύρος Ζώνης (Bandwidth) της μνήμης των GPU και CPU τα τελευταία χρόνια [1]. 1.2 Ανάπτυξη εφαρμογών σε GPU. Ο συνδυασμός της μεγάλης υπολογιστικής ισχύος, του εύκολου πλέον προγραμματισμού καθώς και του χαμηλού κόστους κτήσης οδήγησε την επιστημονική κοινότητα στην διερεύνηση των καινούργιων δυνατοτήτων που προσφέρουν οι GPU σε όλους τους τομείς της έρευνας και των εφαργμογών. Τα αποτελέσματα είναι εντυπωσιακά, καθώς παρατηρούνται επιταχύνσεις εφαρμογών από 10 εώς και πάνω από 200 φορές, ανάλογα με το είδος της εκάστοτε εφαρμογής και τον βαθμό παραλληλοποίησής της. Ακόμη, σημαντικό είναι πως η καινούργια αυτή τεχνολογία δεν απευθύνεται σε ένα μόνο τομέα, όπως είναι η ρευστοδυναμική, η οποία και εξετάζεται στην παρούσα εργασία, αλλά σε οποιοδήποτε τομέα που χρειάζεται περισσότερη υπολογιστική ισχύ. Ενδεικτικά αναφέρονται μερικές δημοσιεύσεις από τη βιβλιογραφία, μαζί με την επιτάχυνση που έχει επιτευχθεί στην εκάστοτε εφαρμογή, από διάφορους τομείς. Εχουν αναπτυχθεί: Λογισμικό επεξεργασίας φωτογραφιών αξονικού τομογράφου, με χρήση GPU, με χρονική επιτάχυνση 14 φορές [2]. Γεννήτρια ψευδοτυχαίων αριθμών, με επιτάχυνση πάνω από 33 φορές [3]. Επιλύτης ροής υγρών κρυστάλλων, με επιτάχυνση πάνω από 50 φορές [4]. 1-3

16 Μοντέλο πρόβλεψης κινδύνου για την αποθήκευση διοξειδίου του άνθρακα στο υπέδαφος, με επιτάχυνση πάνω από 60 φορές [5]. Μοντέλο προσομοίωσης μεταφοράς νετρονίων με χρήση της μεθόδου του Monte Carlo και επιλύτης μεταφοράς θερμότητας με επιτάχυνση μεγαλύτερη από 100 φορές [6] Ακόμα αναφέρονται και μερικές δημοσιεύσεις από την βιβλιογραφία από τον τομέα της υπολογιστικής ρευστομηχανικής, με τον οποίο και ασχολείται η παρούσα εργασία, μαζί με την αντίστοιχη επιτάχυνση κάθε εφαρμογής. Εχουν αναπτυχθεί: Επιλύτης εξισώσεων Euler για ροές γύρω από υπερηχητικό αεροσκάφος, με επιτάχυνση πάνω από 40 φορές [7]. Προσομοιωτής ροών γύρω από μη-αεροδυναμικό σώμα (bluff-body) με χρήση μεθόδων στροβιλιζόμενων σωματιδίων (vortex particle methods) με επιτάχυνση πάνω από 30 φορές [8]. Προσομοιωτής ροών μέσα σε κτίρια με χρήση γρήγορων μοντέλων υπολογιστικής ρευστοδυναμικής με επιτάχυνση πάνω από 30 φορές [9]. Μέθοδος παράλληλης επεξεργασίας της μεθόδου χτισίματος - κύβου (Building- Cube Method) με επιτάχυνση περίπου 3 φορές [10]. Προσομοιωτής διδιάστατου μοντέλου παλίρροιας με επιτάχυνση έως και 88 φορές [11]. 1.3 Στόχος της διπλωματικής εργασίας. Στη Μονάδα Παράλληλης Υπολογιστικής Ρευστοδυναμικής και Βελτιστοποίησης του Εργαστήριο Θερμικών Στροβιλομηχανών (ΕΘΣ), από την οποία και εκπονήθηκε η παρούσα διπλωματική εργασία, τα τελευταία χρόνια έχει αποκτηθεί μία σημαντική εμπειρία σχετικά με τις GPUs και τον τρόπο χρήσης τους. Εχουν αναπτυχθεί επιλύτες συνεκτικών και μη-συνεκτικών, χρονικά μόνιμων και μη-μόνιμων, διδιάστατων και τριδιάστατων ροών [12], [13] και παρουσιάζονται επιλύτες έως και 46 φορές πιο γρήγοροι από τους αντίστοιχους σειριακούς επιλύτες της CPU. Ακόμα, έχουν εφαρμοστεί μέθοδοι βελτιστοποίησης, με χρήση GPU [14], [15], [16], [17]. Ομως, όλα τα παραπάνω έχουν εφαρμοστεί σε μη-δομημένα πλέγματα, τα οποία, παρά την ευελιξία τους, έχουν ένα μεγάλο μειονέκτημα, την άτακτη αρίθμηση των κόμβων του πλέγματος. Οπως αναλύεται στο κεφάλαιο 2, άτακτη προσπέλαση της μνήμης της GPU μειώνει αισθητά την τελική επίδοση της εφαρμογής. Στόχος της παρούσας διπλωματικής εργασίας είναι η διερεύνηση των επιδόσεων μίας GPU, όταν η επίλυση της ροής γίνεται με χρήση δομημένων πλεγμάτων. Αναμένεται με χρήση δομημένων πλεγμάτων να βελτιωθεί σημαντικά ο σχετικός χρόνος ανάμεσα στην επίλυση της GPU και της CPU καθώς η ταξινόμηση των κόμβων μεταφράζεται σε καλύτερη διαχείριση της μνήμης, η οποία σημαίνει και καλύτερη 1-4

17 αξιοποίηση των πόρων που προσφέρει η GPU. Ακόμα, η χρήση δομημένου πλέγματος καθιστά γνωστό και σταθερό τον αριθμό των γειτόνων κάθε κόμβου με αποτέλεσμα ο επιλύτης να μπορεί να παραλληλοποιηθεί πιο ομαλά, καθώς η ανάγκη για πληροφορίες από τους γειτονικούς κόμβους παρουσιάζεται πολύ συχνά κατά την επίλυση των εξισώσεων της ροής. Ο επιλύτης που αναπτυχθήκε βασίζεται στην αρχιτεκτονική CUDA της NVIDIA και πιο συγκεκριμένα στις δυνατότητες που προσφέρουν οι GPU αρχιτεκτονικής Fermi υπολογιστικής ικανότητας Δομή της εργασίας. Η παρούσα διπλωματική εργασία επικεντρώνεται στην ανάπτυξη ενός επιλύτη εξισώσεων Euler, με γνώμονα την παράλληλη λειτουργία των GPU. Ετσι, η εργασία είναι δομημένη ως εξής : Στο κεφάλαιο 2 παρουσιάζεται η αρχιτεκτονική CUDA, ο τρόπος προγραμματισμού τους καθώς και οι δυνατότητες ανάλογα με την υπολογιστική ικανότητα της κάθε GPU. Στο κεφάλαιο 3 παρουσιάζεται η μαθηματική διατύπωση των εξισώσεων Euler για συμπιεστό ρευστό. Ακόμα αναλύεται το κεντροκομβικό σχήμα των πεπερασμένων όγκων το οποίο και χρησιμοποιήθηκε για τη διακριτοποίηση και την αριθμητική επίλυση των εξισώσεων. Στο κεφάλαιο 4 παρουσιάζεται ο επιλύτης που αναπτύχθηκε και εξηγείται η λογική της ανάπτυξής του. Στο κεφάλαιο 5 παρουσιάζονται τα αποτελέσματα όπως προέκυψαν από τον παραπάνω επιλύτη και οι συγκριτικές του επιδόσεις με αντίστοιχο επιλύτη σχεδιασμένο για εκτέλεση από τη CPU. Τέλος, στο κεφάλαιο 6 γίνεται μία σύντομη ανασκόπηση ολόκληρης της διπλωματικής εργασίας καθώς και παρουσιάζονται τα συμπεράσματα που προέκυψαν από αυτή. 1-5

18 Κεφάλαιο 2 Αρχιτεκτονική και περιβάλλον CUDA Το ακρώνυμο CUDA [18] προέρχεται από το Compute Unified Device Architecture, ή στα Ελληνικά «Αρχιτεκτονική Ενοποιημένης Υπολογιστικής Συσκευής». Ο σκοπός σχεδιασμού της ήταν να δοθεί στους χρήστες η δυνατότητα ανάπτυξης εφαρμογών, οποιασδήποτε μορφής, στη GPU, πιστοποιημένα 1, εύκολα και αποδοτικά. Οι κάρτες γραφικών CUDA είναι σχεδιασμένες να υποστηρίζουν όλες τις διεργασίες του συμβατικού προγραμματισμού, μερικές εκ των οποίων είναι οι πράξεις ακεραίων, πράξεις κινητής υποδιαστολής, λογικές πράξεις και διαχείριση δεικτών. Σε τελευταίες εκδόσεις (σε κάρτες υπολογιστικής ικανότητας 2.x ή μεταγενέστερες) της CUDA υποστηρίζεται ακόμα και εκτύπωση κατευθείαν στην οθόνη. Σε προγραμματιστικό επίπεδο, ο χρήστης δεν χρειάζεται πλέον να γνωρίζει κάποια εξειδικευμένη, για κάρτες γραφικών, γλώσσα προγραμματισμού, καθώς ο προγραμματισμός τους γίνεται μέσα από επεκτάσεις παραδοσιακών γλωσσών, υψηλού αλλά και χαμηλού επιπέδου. Τη στιγμή που γράφεται το κείμενο αυτό, υποστηρίζονται επεκτάσεις για γλώσσες όπως η C/C++ [1][19], η FORTRAN και η OpenCL, καθώς και προγραμματιστικά περιβάλλοντα όπως το DirectCompute. Στην παρούσα διπλωματική εργασία έχει χρησιμοποιηθεί η επέκταση της C/C++, γνωστή και ως CUDA C. 2.1 Παράδειγμα αλγορίθμου-επίλυση εξίσωσης Laplace Για την καλύτερη εξήγηση και την πιο εύκολη κατανόηση των επιμέρους τμημάτων και των δυνατοτήτων των GPU θα χρησιμοποιηθεί ένα απλό παράδειγμα. Το παράδειγμα που επιλέχθηκε είναι η επίλυση της διδιάστατης εξίσωσης Laplace. Οπως είναι γνωστό, η εξίσωση Laplace, στη διδιάστατη μορφή της, γράφεται: 2 f = 2 f x f y 2 = 0 (2.1) 1 Οι GPU αρχιτεκτονικής CUDA ακολουθούν τα πρότυπα της ΙΕΕΕ για την εκτέλεση πράξεων κινητής υποδιαστολής. 2-1

19 Για την αριθμητική επίλυση της εξίσωσης 2.1 χρειάζεται αριθμητικό πλέγμα, πάνω στο οποίο θα λυθεί η εξίσωση σύμφωνα με την διακριτοποιημένη μορφή της. Υιοθετείται ένα τετραγωνικό χωρίο, δημιουργείται σε αυτό ομοιόμορφο πλέγμα κόμβων, με τετραγωνικές κυψέλες και, σε αυτό, η διακριτοποιημένη μορφή της εξίσωσης 2.1 είναι η: f NEW i, j = f OLD i+1, j + f OLD i, j+1 + f OLD i 1, j + f OLD i, j 1 4 = f OLD E + f OLD N + f OLD W 4 + f OLD S (2.2) Οπου E, W, N, S συμβολίζουν τους άμεσους γείτονες χρησιμοποιώντας δείχτες γεωγραφικού προσανατολισμού (East, West, North, South) και φαίνονται και στο σχήμα 2.1. j+1 N j W C E j-1 S i-1 i i+1 Σχήμα 2.1: Σχετική θέση γειτονικών κόμβων. Ο αλγόριθμος της αριθμητικής επίλυσης της εξίσωσης Laplace από την GPU αρχικοποιεί το πεδίο της συνάρτησης f στους κόμβους του αριθμητικού πλέγματος και αντιγράφει τον πίνακα στον οποίο είναι αποθηκευμένη η συνάρτηση f από την CPU στην GPU. Στην GPU, ξεκινά η επαναληπτική διαδικασία επίλυσης, η οποία συμπεριλαμβάνει την επαναληπτική ανανέωση της λύσης σε κάθε εσωτερικό κόμβο του πλέγματος σύμφωνα με την εξίσωση 2.2 και υπολογισμό του υπολοίπου της εξίσωσης όλων των κόμβων. Οταν το κριτήριο σύγκλισης του αλγορίθμου ικανοποιηθεί, τότε θα σταματήσει η επαναληπτική διαδικασία επίλυσης και η λύση της εξίσωσης πρέπει να αντιγραφεί από τη GPU στη CPU, για εκτύπωση. Ο αλγόριθμος αυτός φαίνεται και στο λογικό διάγραμμα του σχήματος

20 Αρχή Αρχικοποίηση του προς επίλυση πεδίου. Αντιγραφή δεδομένων από CPU σε GPU. Ανανέωση λύσης. Υπολογισμός υπολοίπου εξίσωσης. Έλεγχος σύγκλισης Ναι Όχι Αντιγραφή δεδομένων από GPU σε CPU. Τέλος Σχήμα 2.2: Λογικό διάγραμμα αλγορίθμου επίλυσης της εξίσωσης Laplace σε απλό υπολογιστικό πλέγμα, με χρήση GPU. 2.2 Αρχιτεκτονική CUDA Στην CUDA, ο προγραμματιστής έχει τη δυνατότητα να προγραμματίσει «υπορουτίνες», οι οποίες δεν πρόκειται να εκτελεστούν από την CPU, αλλά από την GPU. Αυτές οι «υπορουτίνες» ονομάζονται kernels (πυρήνες). Η αλληλουχία εντολών ενός kernel εκτελείται παράλληλα από την GPU για έναν προκαθορισμένο αριθμό εκτελέσεων. Καθεμιά από τις εκτελέσεις του ίδιου kernel την αναλαμβάνει ένα CUDA thread (νήμα). Τα threads, για καλύτερη διαχείριση, ομαδοποιούνται σε blocks (δομικά στοιχεία). Τα threads εσωτερικά ενός block μπορεί να έχουν μονοδιάστατη, διδιάστατη ή και τριδιάστατη κατανομή. Ομως, λόγω φυσικών περιορισμών, ένα block μπορεί να αποτελείται μέχρι και από 512 threads (για GPU υπολογιστικής ικανότητας 1.x) ή 1024 threads (για GPU υπολογιστικής ικανότητας 2.x) ανεξάρτητα από το είδος κατανομής. Στη συνέχεια, τα blocks οργανώνονται, μονοδιάστατα, διδιάστατα ή τριδιάστατα, και το σύνολο των blocks αποτελεί το grid (πλέγμα). Ενα grid μπορεί να αποτελείται μέχρι και από blocks ανά διάσταση. Δηλαδή, ένα grid με μονοδιάστατη κατανομή blocks, μπορεί να αποτελείται μέχρι και από blocks, με διδιάστατη κατανομή μέχρι και blocks ενώ για τριδιάστατη κατανομή μέχρι και blocks. Η επιλογή του τρόπου οργάνωσης των threads ανά block και των blocks ανά grid, η οποία μπορεί να είναι μονοδιάστατη, διδιάστατη 2-3

21 ή τριδιάσταση, είναι επιλογή του προγραμματιστή, σύμφωνα με τις ανάγκες κάθε εφαρμογής. Ετσι, στην τελική κατανομή των threads, για τον ακριβή καθορισμό της θέσης ενός thread χρειάζονται δύο στοιχεία, η τοπική αρίθμηση μέσα στο block και η αρίθμηση του block μέσα στο grid. Παράδειγμα κατανομής threads - blocks - grid φαίνεται στο σχήμα 2.3. Το παράδειγμα της παραγράφου 2.1 θα μπορούσε να αποτελείται από 2 kernels, ένα που θα αναλάμβανε την ανανέωση λύσης κάθε κόμβου του πλέγματος, σύμφωνα με τη σχέση 2.2, και ένα που θα υπολόγιζε το υπόλοιπο της εξίσωσης, συνολικά, για τους κόμβους του πλέγματος των οποίων τα αντίστοιχα threads ανήκουν στο ίδιο block. Εχει επιλεγεί, κάθε thread να αντιστοιχεί σε έναν κόμβο του πλέγματος. Για την επίλυση του συγκεκριμένου προβλήματος, ο προγραμματιστής θα μπορούσε να επιλέξει διδιάστατη κατανομή threads ανά block και διδιάστατη κατανομή blocks στο grid. Ακόμα πρέπει να αποφασίσει για τον αριθμό των threads ανά block. Μερικές πιθανές αποφάσεις θα μπορούσαν να είναι το κάθε block να αποτελείται από 8 8 = 64 threads, από = 256 threads ή οποιοδήποτε άλλο συνδιασμό, με την προϋπόθεση τα threads ανά block να είναι μέσα στα επιτρεπτά όρια. Ομως, για καλύτερη απόδοση, είναι σημαντικό το πλήθος των threads ανά block να είναι πολλαπλάσιο του 32. Επιλέγοντας την κατανομή threads ανά block, το τελικό grid θα αποτελούνταν από ( ) ( +1) blocks. Οπως εύκολα φαίνεται, το προγραμματιστικό grid είναι μεγαλύτερο από το πλέγμα επίλυσης της εξίσωσης, κάτι το οποίο είναι συνηθισμένο κατά την επίλυση προβλημάτων με χρήση GPU, αλλά όχι επιθυμητό. Κατά την εκτέλεση του αλγορίθμου, όλα τα threads που ανήκουν στο προγραμματιστικό grid αλλά όχι στο υπολογιστικό πλέγμα παραμένουν ανενεργά και αποτελούν «σπατάλη» υπολογιστικής ισχύος της GPU. Μετά την οργάνωση των threads ακολουθεί η εκτέλεσή τους. Τα blocks στέλνονται στους streaming multiprocessors ή SM όπου και εκτελούνται παράλληλα. Η λειτουργία κάθε SM αναλύεται στην παράγραφο 2.3. Σε κάθε SM μπορούν να εκτελούνται παράλληλα μέχρι και 8 blocks, λόγω φυσικών περιορισμών. Το πλήθος των blocks που θα εκτελεσθούν παράλληλα σε κάθε SM είναι συνάρτηση των απαιτήσεων κάθε thread σε πόρους, δηλαδη σε shared μνήμη και σε registers και του πλήθους των threads ανά block. Τα επιμέρους τμήματα της GPU, που σε αυτό το σημείο αναφέρονται απλά ονομαστικά, εξηγούνται στη συνέχεια. Σε κάθε SM, όπως θα αναφερθεί και στη συνέχεια, τα threads του κάθε block χωρίζονται σε ομάδες των 32. Αυτό συμβαίνει επειδή η GPU είναι σχεδιασμένη με τέτοιο τρόπο ώστε να εκτελεί τα threads πάντα σε ομάδες των 32. Κάθε τέτοια ομάδα ονομάζεται warp (στημόνι). Κάθε thread που ανήκει στο ίδιο warp εκτελεί τις εντολές που του αναλογούν συγχρόνως με όλα τα άλλα υπόλοιπα threads του ίδιου warp. Αντιθέτως, warps του ίδιου block εκτελούνται παράλληλα μέσα σε έναν SM, αλλά ασύγχρονα. Το ότι τα threads ενός warp εκτελούν εντολές σύγχρονα σημαίνει ότι και τα 32 threads ενός warp εκτελούν ταυτόχρονα τις ίδιες εντολές σε διαφορετικά δεδομένα. Σε περίπτωση που ένα ή περισσότερα threads του ίδιου warp χρειαστεί να εκτελέσουν κάποια εντολή διαφορετική από τα υπόλοιπα, όπως θα μπορούσε να συμβεί από την χρήση μίας εντολής if, τότε, ενώ εκτελείται η διαφορετική εντολή, όλα τα υπόλοιπα threads περιμένουν ανενεργά μέχρι την ολοκλήρωση αυτής. Από την άλλη, ανάμεσα σε δύο διαφορετικά warps, που 2-4

22 Σχήμα 2.3: Παράδειγμα ενός grid διδιάστατης κατανομής block, με threads διδιάστατης κατανομής εσωτερικά του κάθε block. Οπως φαίνεται και στο σχήμα, κάθε thread έχει τοπική αρίθμηση μέσα στο block που βρίσκεται και κάθε block έχει αρίθμηση σχετική με το συνολικό grid. Αφού πρόκειται για διδιάστατη αρίθμηση, τόσο για τα blocks όσο και για τα threads, για τον καθορισμό της θέσης ενός block μέσα στο grid ή για τον καθορισμό της τοπικής θέσης ενός thread μέσα σε ένα block χρειάζονται 2 δείκτες. Αντίστοιχα, σε μονοδιάστατη κατανομή θα χρειάζονταν ένας δείκτης, ενώ σε τριδιάστατη κατανομή τρεις. Στο παράδειγμα του σχήματος, για τον πλήρη καθορισμό της θέσης ενός thread στο grid χρειάζονται συνολικά 4 δείκτες, όπως εύκολα προκύπτει από τα παραπάνω, 2 για τον καθορισμό της τοπικής θέσης του thread στο block στο οποίο ανήκει και 2 για τον καθορισμό της θέσης του block αυτού στο grid. εκτελούνται παράλληλα και ασύγχρονα, δεν είναι απαραίτητο να εκτελείται η ίδια εντολή του kernel και από τα δύο ταυτόχρονα. Ολόκληρη η παραπάνω διαδικασία αποτελεί εσωτερική διαδικασία της GPU όπου ο προγραμματιστής δεν μπορεί να επέμβει. 2-5

23 Σε αυτό το σημείο γίνεται κατανοητό το γιατί το πλήθος των threads ανά block είναι επιθυμητό να είναι πολλαπλάσιο του 32. Σε αντίθετη περίπτωση θα προέκυπταν, στο τέλος κάθε block, warps που θα αποτελούνταν από λιγότερα των 32 threads, με αποτέλεσμα να έμεναν ανενεργοί πόροι της GPU. Για παράδειγμα, αν σε ένα block αντιστοιχούν 100 threads, τότε κατά την εκτέλεση του κάθε block θα εκτελεστούν 3 warps αποδοτικά και 1 warp με 4 ενεργά threads και 28 ανενεργές θέσεις επεξεργασίας. Ακόμα, σε αρκετές εφαρμογές, είναι απαραίτητη η επικοινωνία μεταξύ threads τα οποία εκτελούνται παράλληλα. Για threads που ανήκουν στο ίδιο block μπορεί να χρησιμοποιηθεί η shared μνήμη, η οποία είναι προσβάσιμη από όλα τα threads του ίδιου block. Για threads που δεν ανήκουν στο ίδιο block απαιτείται η χρήση της global μνήμης. Ενα τέτοιο παράδειγμα είναι ο υπολογισμός του υπολοίπου της εξίσωσης κατά της επίλυση της εξίσωσης Laplace. Για τον υπολογισμό αυτό, το κάθε block αναλαμβάνει την άθροιση των υπολοίπων των threads που του αντιστοιχούν. Για την άθροιση, το κάθε thread φορτώνει την τιμή του υπολοίπου που του αντιστοιχεί στην shared μνήμη και, στη συνέχεια, το πρώτο thread κάθε block αναλαμβάνει την άθροιση των επιμέρους υπολοίπων, αφού πλέον, μέσω της shared μνήμης, αυτά του είναι γνωστά. Αυτός δεν είναι ο πιο αποδοτικός τρόπος άθροισης αλλά είναι απλός και εύκολα προγραμματίσιμος. Ενας πιο αποδοτικός τρόπος άθροισης παρουσιάζεται στην παράγραφο Επίσης, υπάρχει η δυνατότητα για συγχρονισμό των threads εσωτερικά ενός block, με χρήση μίας εντολής. Αυτό σημαίνει πως πρώτα θα ολοκληρωθούν όλες οι εντολές του kernel από όλα τα threads ενός block, θα γίνει ο συγχρονισμός τους και, μόνο τότε, θα συνεχίσει η εκτέλεση των επόμενων εντολών από τα threads του block. Οταν απαιτειτα συγχρονισμός ολόκληρου του grid, η μόνη λύση, σύμφωνα με την παρούσα τεχνολογία, είναι ο διαχωρισμός του kernel σε 2 ξεχωριστά kernels. Αυτό συμβαίνει επειδή, από τη μία, πριν την εκκίνηση ενός kernel έχει ολοκληρωθεί η εκτέλεση όλων των προηγούμενων kernel, οπότε πρακτικά έχει επιτευχθεί ο απαιτούμενος συγχρονισμός και, από την άλλη, δεν υπάρχει κάποια εντολή που να επιτρέπει το συγχρονισμό σε επίπεδο grid (κατά την διάρκεια εκτέλεσης ενός kernel) επειδή είναι πολύ δύσκολο να ενσωματωθεί μια τέτοια λειτουργία στις GPU. Για την άθροιση του υπολοίπου της εξίσωσης, που αναφέρθηκε στην προηγούμενη παράγραφο, έγινε χρήση της shared μνήμης. Πριν το πρώτο thread κάθε block ξεκινήσει την άθροιση του υπολοίπου πρέπει να είναι σίγουρο πως όλα τα άλλα threads του ίδιου block έχουν ολοκληρώσει το γράψιμο στην shared μνήμη. Οπότε σε αυτό το σημείο χρειάζεται να γίνει συγχρονισμός του block. 2.3 Η Δομή μιας GPU αρχιτεκτονικής CUDA. Οι GPUs αποτελούνται από ένα πλήθος πολυεπεξεργαστών, τους SM. Πόσους SM έχει η κάθε GPU εξαρτάται από το μοντέλο της. Ομως σε κάθε GPU, ο SM είναι η βασική μονάδα παράλληλης επεξεργασίας δεδομένων. Ο κάθε SM έχει στη διάθεσή του ένα μεγάλο αριθμό πυρήνων (CUDA cores), έναν ή δύο Warp schedulers (προγραμματιστές) και άλλους τόσους Instruction Dispatch Unit (μονάδες αποστολής 2-6

24 εντολών), επίσης ανάλογα με το μοντέλο. Ακόμα, κάθε SM έχει πρόσβαση σε κάποιες μνήμες περιορισμένης χρήσης, οι οποίες ειναι η local, η shared καθώς και η L1 μνήμη, σε δύο ή τέσσερις μονάδες ειδικών συναρτήσεων (Special Function Unit ή SFU) και σε μερικές μονάδες φόρτωσησ/αποθήκευσης δεδομένων (Load/Store Units). Επίσης, κάθε SM έχει ένα συγκεκριμένο αριθμό registers (καταχωρητών). Ακόμα, όλοι οι SM της GPU έχουν πρόσβαση στην ενιαία μνήμη RAM, που ονομάζεται global μνήμη και στην texture μνήμη, την constant μνήμη και την L2 μνήμη η οποίες είναι περιορισμένης χρήσης, δηλαδή η χρήση τους συμφέρει όταν ικανοποιούνται συγκεκριμένες συνθήκες. Ολα τα παραπάνω αναλύονται στη συνέχεια. Στο σχήμα 2.4 φαίνεται συνολικά μία GPU αρχιτεκτονικής Fermi [20], στο σχήμα 2.5 φαίνεται ένας SM τρίτης γενιάς, όπως αυτού που χρησιμοποιούνται στις GPU αρχιτεκτονικής Fermi, ενώ στο σχήμα 2.6 παρουσιάζονται συνοπτικά τα τεχνικά χαρακτηριστικά των CUDA GPUs ανάλογα με την κάθε αρχιτεκτονική. Κατά την παρουσίαση των διάφορων αρχιτεκτονικών CUDA θα δοθεί ιδιαίτερη έμφαση στις GPU αρχιτεκτονικής Fermi, καθώς ο επιλύτης που αναπτύχθηκε βασίζεται πάνω σε αυτή Πυρήνας CUDA Ο κάθε πυρήνας CUDA είναι εφοδιασμένος με ανεξάρτητες Arithmetic Logic Units ή ALU (μονάδες αριθμητικής και λογικών πράξεων) και Floating Point Units ή FPU (μονάδες πράξεων κινητής υποδιαστολής). Στις μονάδες ALU εκτελούνται οι πράξεις μεταξύ ακεραίων και οι λογικές πράξεις ενώ στις μονάδες FPU εκτελούνται οι πράξεις κινητής υποδιαστολής, μονής και διπλής ακρίβειας. Οι GPU αρχιτεκτονικής Fermi για τις πράξεις κινητής υποδιαστολής χρησιμοποιούν το πρότυπο IEEE , ενώ στις προηγούμενες αρχιτεκτονικές (G80 και GT200) χρησιμοποιούνταν το πρότυπο IEEE Warp Scheduler & Instruction Dispatch Unit Σε κάθε SM ομαδοποιούνται τα threads του κάθε block σε ομάδες των 32, που ονομάζονται warps. Ο Warp Scheduler επιλέγει τη σειρά με την οποία θα εκτελεστούν τα warps και, στη συνέχεια, το Instruction Dispatch Unit αναλαμβάνει τη μεταφορά των εντολών προς εκτέλεση σε κάθε CUDA core. Είναι σημαντικό να τονιστεί ξανά πως εσωτερικά ενός warp οι εντολές εκτελούνται σύγχρονα ανάμεσα στα threads. Αντίθετα, δύο threads του ίδου block, τα οποία όμως ανήκουν σε διαφορετικά warps, εκτελούνται παράλληλα αλλά ασύγχρονα, όπως αναφέρεται στην παράγραφο Load/Store Units Οι μονάδες φόρτωσης / αποθήκευσης δεδομένων υπολογίζουν σε ποια θέση μνήμης απευθύνεται κάθε thread κάθε φορά που χρειάζεται να προσπελαθεί κάποια μνήμη, είτε για διάβασμα δεδομένων από αυτή, είτε για γράψιμο αποτελεσμάτων πράξεων 2-7

25 Σχήμα 2.4: Κάθε GPU αρχιτεκτονικής Fermi έχει 16 SM στοιχειοθετημένους γύρω από την μνήμη L2. Κάθε SM μοιάζει με το παραπάνω παραλληλόγραμμο και αποτελείται από ένα πορτοκαλί τμήμα, το οποίο αντιστοιχεί στους Warp Schedulers και στους Instruction Dispatch Units, ένα πράσινο τμήμα όπου βρίσκονται οι μονάδες για τις εκτελέσεις των πράξεων καθώς και από το γαλάζιο τμήμα, το οποίο αντιστοιχεί στους registers και στην Shared/L1 μνήμη. σε αυτή. Πίσω από τις μονάδες φόρτωσης / αποθήκευσης υπάρχουν δευτερεύουσες μονάδες που αναλαμβάνουν το καθαυτό διάβασμα ή γράψιμο της μνήμης Special Function Units Οι μονάδες ειδικών συναρτήσεων προσφέρουν την δυνατότητα μερικές συνηθισμένες συναρτήσεις, όπως το ημίτονο, το συνημίτονο και η τετραγωνική ρίζα, να εκτελούνται πολύ πιο γρήγορα, αλλά με μειωμένη μαθηματική ακρίβεια. Οπότε, σε εφαρμογές όπου η ταχύτητα είναι σημαντικότερη από την ακρίβεια, μπορούν να χρησιμοποιηθούν οι μονάδες ειδικών συναρτήσεων για καλύτερους χρόνους εκτέλεσης. Ομως, η ακρίβεια είναι πάρα πολύ σημαντική στην υπολογιστική ρευστοδυναμική οπότε δεν έχουν χρησιμοποιηθεί καθόλου οι μονάδες ειδικών συναρτήσεων στον επιλύτη που αναπτύχθηκε εδώ. 2-8

26 Σχήμα 2.5: Σχηματική απεικόνιση ενός SM αρχιτεκτονικής Fermi Διαθέσιμες Μνήμες Global μνήμη Η βασική μνήμη της GPU είναι η global μνήμη. Η global μνήμη είναι μεγάλης χωρητικότητας και είναι προσπελάσιμη από όλα τα threads ενός kernel, άσχετα με το block στο οποίο ανήκουν. Στην global μνήμη αποθηκεύεται σχεδόν κάθε πληροφορία, μεταβλητή, πίνακας, ή ότι άλλο χρησιμοποιειται σε ένα πρόγραμμα. Κατά την επίλυση της εξίσωσης Laplace, στην global μνήμη είναι αποθηκευμένη η λύση της εξίσωσης καθως και το άθροισμα του υπόλοιπου της εξίσωσης των threads που ανήκουν σε κάθε block. Ακόμα, θα μπορούσε να είναι αποθηκευμένοι και οι πίνακες με το υπολογιστικό πλέγμα εάν χρειαζόντουσαν, όπως λ.χ. αν το πλέγμα δεν αποτελούνταν από τετραγωνικές κυψέλες. Το βασικό μειονέκτημά της είναι η αργή ταχύτητα προσπέλασής της. Για α- νάπτυξη γρήγορων εφαρμογών στις GPU [21] είναι πολύ σημαντικό η προσπέλαση 2-9

27 Σχήμα 2.6: Τεχνικά χαρακτηριστικά κάθε αρχιτεκτονικής CUDA. Υπενθιμίζεται ότι σκοπός της παρούσας διπλωματικής εργασίας είναι η εκμετάλλευση των δυνατοτήτων των GPU αρχιτεκτονικής Fermi σε εφαρμογές υπολογιστικής ρευστοδυναμικής. της global μνήμης να γίνεται με βέλτιστο τρόπο, καθώς κάθε μη-βελτιστοποιημένη προσπέλαση μειώνει αισθητά την τελική επιτάχυνση της εφαρμογής. Εκτεταμένη χρήση της global μνήμης οδηγεί συνήθως σε φαινόμενο «λαιμού» (bottleneck effect) καθώς τα δεδομένα δεν προωθούνται αρκετά γρήγορα στους πυρήνες για επεξεργασία, με αποτέλεσμα να μην αξιοποιείται επαρκώς η υπολογιστική δύναμη της GPU. Μία πολύ σημαντική δυνατότητα της global μνήμης είναι η ενοποιημένη προσπέλαση μνήμης (coalesced memory transactions), δηλαδή η δυνατότητα, όταν ένα warp απαιτεί προσπέλαση της global μνήμης, η προσπέλαση να μην γίνει μία φορά για κάθε thread του warp, αλλά να ενοποιηθούν οι προσπελάσεις σε λιγότερες προσπελάσεις. Με κατάλληλο χειρισμό οι προσπελάσεις μνήμης ενός warp μπορούν να ενοποιηθούν μέχρι και σε 1 προσπέλαση της global μνήμης. Ο μηχανισμός πίσω από την ενοποίηση των προσπελάσεων μνήμης είναι άμεσα συνδεδεμένος με την υπολογιστική ικανότητα της GPU. Σε GPU υπολογιστικής ικανότητας 1.0 και 1.1, ενοποιούνται οι προσπελάσεις μνήμης όταν για κάθε μισό warp τηρούνται τα παρακάτω: Το μέγεθος κάθε word (καταχώρηση στη μνήμη προς προσπέλαση) πρέπει να είναι 4, 8 ή 16 bytes, όπως, για παράδειγμα, μεταβλητές τύπου float, double και double2 2 αντίστοιχα. 2 Οι μεταβλητές double2 είναι προγραμματιστικές μεταβλητές της CUDA C όπου σε κάθε τέτοια μεταβλητή αποθηκεύονται 2 μεταβλητές τύπου double. Στον επιλύτη που αναπτύχθηκε δεν χρησιμοποιήθηκαν μεταβλητές τέτοιου είδους και εδώ αναφέρονται απλά ως παράδειγμα μεταβλητών μεγέθους 16 bytes. 2-10

28 Ανάλογα με το μέγεθος κάθε word ισχύει: Οταν κάθε word είναι 4 bytes πρέπει και τα 16 words να βρίσκονται στο ίδιο 64-byte τμήμα της μνήμης, Οταν κάθε word είναι 8 bytes πρέπει και τα 16 words να βρίσκονται στο ίδιο 128-byte τμήμα της μνήμης, Οταν κάθε word είναι 16 bytes πρέπει και τα πρώτα 8 words να βρίσκονται στο ίδιο 128-byte τμήμα της μνήμης και τα επόμενα 8 words να βρίσκονται στο αμέσως επόμενο 128-byte τμήμα της μνήμης. Τα threads και οι θέσεις μνήμης προς προσπέλαση πρέπει να είναι αντιστοιχισμένα στη σειρά, δηλαδή το ν-ιοστο thread να αντιστοιχεί στη ν-ιοστή θέση μνήμης, σε κάθε μισό warp. Οταν ισχύουν τα παραπάνω, για κάθε μισό warp εκτελούνται ή μία 64-byte εντολή προσπέλασης μνήμης, ή μία 128-byte εντολή προσπέλασης μνήμης, ή δύο 128-byte εντολές προσπέλασης μνήμης αν το μήκος κάθε word είναι 4, 8 ή 16 bytes, αντίστοιχα. Ενοποίηση επιτυγχάνεται ακόμα και αν κάποιο thread είναι ανενεργό και δεν εκτελεί εντολή προσπέλασης μνήμης ταυτόχρονα με τα υπόλοιπα. Είναι σημαντικό να τονιστει πως τα 64 και 128-byte τμήματα που αναφέρθηκαν παραπάνω, δεν είναι οποιεσδήποτε 16 συνεχόμενες θέσης μνήμης, μεγέθους 64 bytes όταν το κάθε word είναι 4 bytes ή μεγέθους 128 όταν το κάθε word είναι 8 bytes, ή οποιεσδήποτε 8 συνεχόμενες θέσης μνήμης όταν το κάθε word είναι 16 bytes, αλλά είναι προκαθορισμένα τμήματα μνήμης και ορισμένα στη σειρά από την αρχή της δεσμευμένης μνήμης έως το τέλος της. Για παράδειγμα, σε ένα μονοδιάστατο πίνακα που αποτελείται απο αριθμούς διπλής ακρίβειας (double), όπου ο κάθε ένας αριθμός διπλής ακρίβειας έχει μέγεθος 8 bytes, το πρώτο τμήμα της μνήμης αντιστοιχεί στις θέσεις του πίνακα 0 έως 15, το δεύτερο τμήμα στις θέσεις 16 έως 31, το τρίτο στις θέσεις 32 έως 47 κτλ. Οπως φαίνεται, το κάθε τμήμα της μνήμης αποτελείται από 16 μεταβλητές, όπου η καθεμία έχει μέγεθος 8 bytes, και έχει συνολικό μέγεθος 128 bytes. Αν δεν τηρούνται τα παραπάνω, εκτελούνται 16 ξεχωριστές 32-byte εντολές προσπέλασης μνήμης με αποτέλεσμα να επιβραδυνθεί σημαντικά ο συνολικός χρόνος προσπέλασης όλων των threads. Σε GPU υπολογιστικής ικανότητας 1.2 και 1.3, ενοποιούνται οι προσπελάσεις μνήμης όταν όλα τα threads ανά μισό warp απλά να απευθύνονται σε θέσεις μνήμης που ανήκουν στο ίδιο τμήμα της μνήμης, ανεξάρτητα με τη σειρά, ακόμα και αν 2 ή περισσότερα threads απευθύνονται στην ίδια θέση μνήμης. Πιο συγκεκριμένα, για τον προσδιορισμό του αριθμού των εντολών που πρέπει να εκτελεστούν για την προσπέλαση της μνήμης ακολουθείται η παρακάτω διαδικασία: Πρώτα καθορίζεται το μέγεθος της προσπελάσιμης μνήμης, ανά εντολή προσπέλασης μνήμης, βάσει του πρώτου ενεργού thread, ανά μισό warp. Το μέγεθος είναι συνάρτηση του μεγέθους των words που χειριζονται τα threads και είναι: 32 bytes όταν κάθε word έχει μέγεθος 1-byte, 2-11

29 64 bytes όταν κάθε word έχει μέγεθος 2-bytes, 128 bytes όταν κάθε word έχει μέγεθος 4-, 8- ή 16-bytes. Στη συνέχεια εντοπίζονται όλα τα υπόλοιπα ενεργά threads που απευθύνονται σε θέσεις μνήμης του ίδιου τμήματος της μνήμης. Το μέγεθος της εντολής προσπέλασης μειώνεται ακόμα περισσότερο, αν αυτό είναι δυνατό, σύμφωνα με τα παρακάτω: Αν το μέγεθος της προσπελάσιμης μνήμης, ανά εντολή προσπέλασης, είναι 128 bytes και χρησιμοποιείται μόνο το πρώτο μισό, ή μόνο το δεύτερο μισό, το μέγεθος της εντολής μειώνεται στα 64 bytes. Αν το μέγεθος της προσπελάσιμης μνήμης, ανά εντολή προσπέλασης, είναι 64 bytes, είτε αυτό είναι το αρχικό της μέγεθος, είτε αυτό προήλθε από την παραπάνω περίπτωση, και όμοια με πριν χρησιμοποιείται μόνο το μισό από της εύρος, τότε μειώνεται σε εντολή μεγέθους 32 bytes. Κάθε thread που εκτελεί την προσπέλαση μνήμης που του αναλογεί σημειώνεται ως ανενεργό μόλις ολοκληρωθεί η προσπέλαση της μνήμης. Ο παραπάνω κύκλος επαναλαμβάνεται μέχρι να σημειωθούν όλα τα threads ώς ανενεργά. Σε GPU υπολογιστικής ικανότητας 2.x το κανονικό μήκος εντολών προσπέλασης μνήμης είναι 128, και απευθύνεται σε ολόκληρα warps αντίθετα με τα προηγούμενα, όπου κάθε εντολή προσπέλασης μνήμης απευθυνόταν σε μισό warp. Ακόμα έχουν προστεθεί οι cache L1 και L2 μνήμες, όπου ο τρόπος χρήσης τους αναλύεται στην συνέχεια της παραγράφου. Οταν χρησιμοποιείται μόνο η L2 cache μνήμη ως βοηθητική, χωρίς την χρήση της L1, οι εντολές προσπέλασης μνήμης εκτελούνται με μήκος 32 bytes. Οπότε σε περιπτώσεις μεγάλης διασποράς των πληροφοριών στην μνήμη, η χρήση μόνο της L2 μνήμης συνήθως έχει θετικά αποτελέσματα. Αν το μέγεθος κάθε word είναι μεγαλύτερο από 4 bytes, κάθε εντολή προσπέλασης της μνήμης διασπάται σε περισσότερες, όπου καθεμία εκτελείται ανεξάρτητα. Αν το μέγεθος κάθε word είναι 8 bytes εκτελούνται 2 εντολές προσπέλασης μνήμης μεγέθους 128 bytes, μία για κάθε μισό warp. Αν το μέγεθος κάθε word είναι 16 bytes εκτελούνται 4 εντολές προσπέλασης μνήμης μεγέθους 128 bytes, μία για κάθε τέταρτο του warp. Κάθε εντολή προσπέλασης μνήμης διασπάται σε ανεξάρτητες εντολές προσπέλασης της cache μνήμης, οι οποίες εκτελούνται ξεχωριστά και ανεξάρτητα. Σε περίπτωση που οι πληροφορίες που απαιτεί κάποια εντολή βρίσκονται στην chache μνήμη διαβάζονται από εκεί, εναλλακτικά, εάν δεν βρεθούν εκεί, οι εντολές προσπέλασης προωθούνται στην global μνήμη. 2-12

30 Και στις GPU υπολογιστικής ικανότητας 2.x δεν έχει σημασία η σειρά με την οποία τα threads προσπελαύνουν τις θέσεις μνήμης, αλλά όπως και στις GPU υπολογιστικής ικανότητας 1.2 και 1.3, απλά να βρίσκονται στο ίδιο τμήμα μνήμης, ακόμα και αν 2 ή περισσότερα threads απευθύνονται στην ίδια θέση μνήμης. Παραδείγματα με όλα τα παραπάνω φαίνονται στα σχήματα 2.7, 2.8 και 2.9. Σχήμα 2.7: Παράδειγμα προσπέλασης της global μνήμης από ένα warp, word μήκους 4 bytes συναρτήσει της υπολογιστικής ικανότητας μίας GPU, όταν η προσπέλαση γίνεται σε συνεχόμενες θέσης μνήμης ενός τμήματος της μνήμης και με σειρά. Το παράδειγμα αυτό αντιστοιχεί στο παράδειγμα της παραγράφου 2.1, όταν τα 32 πρώτα threads του grid προσπελαύνουν τις θέσεις μνήμης όπου είναι αποθηκευμένες οι τιμές f N ή f S, κατά την ανανέωση της λύσης, θεωρώντας των πίνακα f ως πίνακα μεταβλητών float. Ετσι, τα threads με αύξοντα αριθμό από 0 έως 31 προσπελαύνουν ένα τμήμα της μνήμης μεγέθους 128 bytes το οποίο αντιστοιχεί σε 32 μεταβλητές μεγέθους 4 byte καθεμιά. [1] Constant και Texture μνήμες. Για βελτίωση της απόδοσης υπάρχουν άλλες δύο μνήμες που είναι ορατές από ολόκληρο το kernel, αλλά έχουν πολύ μεγαλύτερες ταχύτητες προσπέλασης. Η μία ειναι η texture μνήμη και η άλλη είναι η constant μνήμη. Καθεμιά από αυτές έχει σχεδιαστεί διαφορετικά και βελτιώνει την τελική απόδοση κάθε εφαρμογής κάτω από διαφορετικές συνθήκες. Τα κοινά τους χαρακτηριστικά είναι πως και οι δύο είναι περιορισμένης χωρητικότητας, καθώς και «read-only memory», δηλαδή μνήμες που επιτρέπουν στον προγραμματιστή μόνο να διαβάζει από αυτές κατά την διάρκεια εκτέλεσης ενός kernel. Στην constant μνήμη αποθηκεύονται πληροφορίες, από τον προγραμματιστή, πρίν την εκτέλεση ενός kernel και δεν μπορούν να αλλαχθούν κατά την εκτέλεσή του και ο αποθηκευτικός της χώρος είναι 64 KBytes. Υπό κατάλληλες συνθήκες, προσπέλαση 2-13

31 Σχήμα 2.8: Παράδειγμα προσπέλασης της global μνήμης από ένα warp, word μήκους 4 bytes συναρτήσει της υπολογιστικής ικανότητας μίας GPU, όταν η προσπέλαση γίνεται σε συνεχόμενες θέσης μνήμης, ενός τμήματος της μνήμης, αλλά όχι στη σειρά. Σε δομημένα προβλήματα, όπως το παράδειγμα της παραγράφου 2.1, δεν συναντάται τέτοιου είδους προσπέλαση μνήμης. [1] πληροφοριών με χρήση της constant μνήμης μπορεί να βελτιώσει τις επιδόσης μία εφαρμογής επειδή: Ενα «διάβασμα» από την constant μνήμη μπορεί προβληθεί σε όλα τα υπόλοιπα threads του ίδιου μισού warp, ουσιαστικά γλιτώνοντας 15 «διαβάσματα». Η constant μνήμη είναι cached μνήμη και έτσι συνεχόμενα «διαβάσματα» της ίδιας θέσης μνήμης δεν φορτώνει τη μνήμη με παραπάνω προσπελάσεις, αλλά τα διαβάζει από την cached μνήμη. Ομως χρειάζεται προσοχή η χρήση της constant μνήμης καθώς όταν και τα 16 threads που απαρτίζουν μισό warp «διαβάζουν» την ίδια θέση μνήμης οι επιδόσεις βελτιώνονται, αλλά για να επιτευχθεί η δυνατότητα προβολής ενός «διαβάσματος» σε 16 threads, έχει αφερεθεί η δυνατότητα παράλληλων διαβασμάτων από την constant μνήμη. Ετσι, σε περίπτωση που κάθε ένα από τα 16 threads χρειάζεται πληροφορία από διαφορετική διεύθυνση της constant, τότε τα «διαβάσματα» θα εκτελεστούν σειριά και θα χρειαστεί 16-πλάσιος χρόνος για τη συνολική διεργασία. Σε τέτοιες περιπτώσεις, κατα πάσα πιθανότητα, το «διάβασμα» από την constant μνήμη θα είναι πιο αργό από ότι από την global μνήμη. Στην constant μνήμη γενικά αποθηκεύονται οι σταθερές ενός προβλήματος. Ετσι, σε ένα πρόβλημα ρευστοδυναμικής θα μπορούσαν να αποθηκευτούν στην constant μνήμη η σταθερά του τελείου αερίου R g, οι ειδικές θερμοχωρητικότητες c p και c v και ο εκθέτης ισεντροπικής μεταβολής γ. 2-14

32 Σχήμα 2.9: Παράδειγμα προσπέλασης της global μνήμης από ένα warp, word μήκους 4 bytes συναρτήσει της υπολογιστικής ικανότητας μίας GPU, όταν η προσπέλαση γίνεται σε συνεχόμενες θέσης μνήμης, στη σειρά, αλλά δεν ανήκουν σε ένα τμήμα της μνήμης. Η περίπτωση αυτή αντιστοιχεί στο παράδειγμα της παραγράφου 2.1, όταν τα 32 πρώτα threads του grid προσπελαύνουν τις θέσεις μνήμης όπου είναι αποθηκευμένες οι τιμές f E ή f W, κατά την ανανέωση της λύσης. Η ίδια μη-στοιχισμένη προσπέλαση μνήμης παρουσιάζεται, αντίστοιχα, και σε όλες της εφαρμογές που χρησιμοποιούνται δομημένα πλέγματα και δεν μπορεί να αποφευχθεί. [1] Η texture μνήμη, αν και αρχικά σχεδιάστηκε για χρήση σε εφαρμογές επεξεργασίας γραφικών, είναι ιδιαίτερα αποδοτική και σε εφαρμογές γενικού προγραμματισμού. Η texture μνήμη αποτελεί και αυτή cached μνήμη και είναι σχεδιασμένη για εφαρμογές όπου τα μοτίβα προσπέλασης της μνήμης παρουσιάζουν έντονη χωρική τοπικότητα (spacial locality), δηλαδή όπου κάθε thread «διαβάζει» θέσεις μνήμης κοντά στις θέσεις μνήμης που διαβάζουν τα διπλανά του threads, όπως φαίνεται στο σχημα Η texture μνήμη, κατά την εκτέλεση ενός kernel, χρησιμοποιείται ως ενδιάμεση μνήμη, αφού είναι cached, για να μειωθούν οι προσπελάσεις στην global μνήμη. Για τη χρήση της texture μνήμης, ο προγραμματιστής το μόνο που έχει να κάνει είναι να απευθύνει την εντολή προσπέλασης της μνήμης στην texture μνήμη και όχι στην global μνήμη. Τότε, η GPU αναλαμβάνει να ελέγξει αν υπάρχει η επιθυμητή πληροφορία στην texture μνήμη. Αν υπάρχει, την «διαβάζει» από την texture μνήμη ενώ αν δεν υπάρχει αντιγράφει την επιθυμητή πληροφορία από την global μνήμη στην texture μνήμη, όπου και την αποθηκεύει για μελλοντική χρήση. Ομως, η texture μνήμη είναι μικρή σε χωρητικότητα (6 έως 8 KBytes ανά SM) και για κάθε καινούργια εγγραφή σε αυτή συνήθως χρειάζεται να διαγραφεί μία προηγούμενη καταχώρηση. Ο προγραμματιστής δεν μπορεί γνωρίζει τι είναι αποθηκευμένο κάθε χρονική στιγμή της εκτέλεσης ενός kernel στην texture μνήμη, αλλά η γνώση αυτή δεν του χρειάζεται. 2-15

33 Σχήμα 2.10: Ενδεδειγμένη προσπέλαση στην texture μνήμη, σε μία διδιάστατα κατανεμημένη περιοχή της μνήμης. Οταν η προσπέλαση της μνήμης γίνεται με μοτίβα όπως αυτά που ακολουθούν, για την προσπέλαση της μνήμης συνήθως συμφέρει η χρήση της texture μνήμης. Αριθμητικά, οι 4 θέσεις μνήμης που φαίνονται στο σχήμα 2.10 δεν είναι συνεχόμενες και δεν θα βρίσκονταν στο ίδιο σημείο της cached μνήμης σε ένα τυπικό σύστημα cached μνήμης CPU. Ομως, επειδή η texture μνήμη στις GPU έχει σχεδιαστεί για να επιταχύνει μοτίβα προσπέλασης ακριβώς σαν αυτό, η χρήση της texture μνήμης, αντί για χρήση της global μνήμης, συνήθως βελτιώνει το χρόνο εκτέλεσης της εφαρμογής. Κατά την επίλυση της εξίσωσης Laplace, χρειάζεται πληροφορία από τους 4 γείτονες κάθε εσωτερικού κόμβου κατά την ανανέωση της λύσης. Σε αυτήν την «τοπικότητα» είναι που κυρίως χρησιμοποιείται η texture μνήμη για επιτάχυνση της εφαρμογής. Οπότε, η προσπέλαση των θέσεων μνήμης N, E, S, W κάθε κόμβου (σχήμα 2.1) συμφέρει γίνεται μέσω της texture μνήμης, αντί της global μνήμης. Η L2 μνήμη. Στις GPU αρχιτεκτονικής Fermi έχει προστεθεί μία ακόμα μνήμη, η L2 μνήμη. Η L2 είναι μνήμη «cache» και είναι ενδιάμεση της global μνήμης και του kernel. Σχετικά με την χρήση των L1 και L2 μνημών, ο προγραμματιστής καλείται μόνο να αποφασίσει αν θα χρησιμοποιηθούν και οι 2 cached μνήμες ή αν θα απενεργοποιήσει την L1 μνήμη και θα χρησιμοποιήσει μόνο την L2 μνήμη, σε κάθε kernel. Πέρα από αυτό, ο προγραμματιστής δεν έχει καμία άλλη συμμετοχή στη χρήση της L2, αλλά όλη η διαδικασία είναι αυτοματοποιημένη και εσωτερική της GPU. Ετσι, όταν μία θέση της global μνήμης καλείται επανειλλημένα σε ένα kernel, κατά την εκτέλεσή του, καλείται μία φορά το περιεχόμενο της θέσης από τη χρονοβόρα global μνήμη και αποθηκεύεται στην L2, έτσι ώστε οι επόμενες κλήσεις να γίνουν από την cache μνήμη, L2. Οπως και με την texture μνήμη, όταν χρειάζεται να εγγραφεί καινούργια πληροφορία στην L2 μνήμη αλλά δεν υπάρχει αρκετή ελεύθερη μνήμη, διαγράφεται κάποια προηγούμενη. Και η L2 μνήμη είναι περιορισμένης χωρητικότητας, όπως οι μνήμες texture και constant. Ομως, αντίθετα με τις μνήμες texture και constant, η χρήση της μνήμης L2 γίνεται δίχως επέμβαση του προγραμματιστή. 2-16

34 Οι On-chip μνήμες. Πέρα από τις παραπάνω ενιαίες μνήμες, οι οποίες μπορούν να προσπελαθούν ελεύθερα από όλα τα threads του kernel, ο κάθε SM έχει πρόσβαση σε κάποιες «onchip» μνήμες, δηλαδή μνήμες που βρίσκονται, υλικά, πάνω στον SM. Τέτοιες είναι η shared μνήμη, η L1 μνήμη και οι registers. Ακόμα κάθε SM μπορεί να χρησιμοποιήσει και την local μνήμη, η οποία, αν και ο τρόπος χρήσης της θυμίζει τις «on-chip» μνήμες, βρίσκεται δίπλα στη global μνήμη. Οι Shared και L1 μνήμες. Η shared μνήμη χρησιμοποιείται όταν χρειάζεται επικοινωνία μεταξύ μεταξύ δύο ή περισότερων threads, που όμως ανήκουν στο ίδιο block. Αυτό συμβαίνει γιατί η shared μνήμη είναι προσπελάσιμη από όλα τα threads ενός block. Ακόμα, η προσπέλασή της γίνεται με πολύ μεγαλύτερη ταχύτητα από ότι της global μνήμης και πρέπει να προτιμάται όπου η εφαρμογή το επιτρέπει. Για να αξιοποιηθεί σωστά η shared μνήμη πρέπει να αναλυθεί λίγο περισσότερο ο τρόπος λειτουργίας της. Η shared μνήμη χωρίζεται σε ισομεγέθη τμήματα μνήμης, που ονομάζονται αποθετήρια (banks), τα οποία μπορούν να προσπελαστούν ταυτόχρονα. Κάθε εντολή προσπέλασης που αντιστοιχεί σε προσπέλαση μίας θέσης μνήμης ανά αποθετήριο μπορεί να εκτελεστεί ταυτόχρονα, επιταχύνοντας έτσι την εφαρμογή. Ομως, αν δύο ή παραπάνω θέσεις μνήμης, από τις ζητούμενες, βρίσκονται στο ίδιο αποθετήριο, τότε οι δύο προσπελάσεις δεν μπορούν να εκτελεστούν ταυτόχρονα, αλλά εκτελούνται σειριακά με αποτέλεσμα να επιβραδύνουν τους υπολογισμούς (bank conflict). Στις GPU υπολογιστικής ικανότητας 1.x η shared μνήμη αποτελείται από 16 αποθετήρια και είναι έτσι οργανωμένα ώστε συνεχόμενες μεταβλητές μήκους 32-bit να τοποθετούνται από μόνες τους σε συνεχόμενα αποθετήρια. Κάθε αποθετήριο έχει εύρος ζώνης (bandwidth) 32-bit ανά 2 κύκλους ρολογιού. Κάθε εντολή προσπέλασης shared μνήμης, όπου στη συνέχεια, για λόγους απλότητας, θα αναφέρεται απλώς ως «εντολή μνήμης», διασπάται σε 2 ξεχωριστές εντολές μνήμης, μία για κάθε μισό warp, οι οποίες εκτελούνται ανεξάρτητα. Ετσι δεν γίνεται να δημιουργηθεί bank conflict μεταξύ 2 threads εκ των οποίων το πρώτο βρίσκεται στο πρώτο μισό warp και το δεύτερο στο δεύτερο μισό warp, αφού το κάθε ένα από τα δύο threads αντιστοιχεί σε διαφορετική εντολή μνήμης. Ακόμα μία σημαντική δυνατότητα που προσφέρει η shared μνήμη είναι ο μηχανισμός «προβολής» words μήκους 32-bits. Ενα word μήκους 32-bits μπορεί να διαβαστεί και να «προβληθεί» σε παραπάνω από ένα thread κατά την εκτέλεση μίας μόνο εντολής μνήμης. Δηλαδή, αν, για παράδειγμα, τρία threads που ανήκου στο ίδιο μισό warp χρειάζονται την ίδια πληροφορία από την shared μνήμη, με μία μόνο εντολή μνήμης θα «διαβάσουν» και τα τρία threads την ζητούμενη θέση μνήμης παράλληλα. Πιο συγκεκριμένα, μία εντολή μνήμης, η οποία αποτελείται από πολλές θέσεις μνήμης, εκτελείται σε αρκετά βήματα στην πορεία του χρόνου, εκτελώντας ένα υποσύνολο των συνολικών προσπελάσεων, χωρίς bank conflicts ανά βήμα, μέχρι όλες οι διευθύν- 2-17

35 σεις να έχουν προσπελαθεί. Σε κάθε βήμα, το υποσύνολο των διευθύνσεων που θα προσπελαθούν κατασκευάζεται από τον SM βάσει των διευθύνσεων που δεν έχουν ήδη προσπελαθεί σύμφωνα με την παρακάτω διαδικασία: Πρώτα επιλέγεται ένα word, από τα words που πρόκειται να προσπελαθούν, ως το word που θα προβληθεί. Στη συνέχεια προστίθενται στις διευθύνσεις που θα προσπελαστούν οι παρακάτω διευθύνσεισ: Ολες οι διευθύνσεις που βρίσκονται μέσα στο υπό προβολή word, Μία διεύθυνση από κάθε αποθετήριο (εκτός από το αποθετήριο στο ο- ποίο ανήκει η υπό προβολή λέξη) στην οποία υπάρχει τουλάχιστον μία διεύθυνση προς προσπέλαση. Ποιο word θα επιλεγεί για να προβληθεί καθώς και ποια διεύθυνση από κάθε αποθετήριο θα επιλεγεί σε κάθε κύκλο δεν είναι αυστηρά ορισμένο. Μία συνηθισμένη περίπτωση όπου και δεν υπάρχει bank conflict είναι όταν όλα τα threads μισού warp προσπελαύνουν μία θέση μνήμης μέσα στο ίδιο word μήκους 32-bits. Στις GPU υπολογιστικής ικανότητας 2.x η shared μνήμη αποτελείται από 32 αποθετήρια και, όμοια με πριν, είναι οργανωμένη με τέτοιο τρόπο ώστε συνεχόμενα words μήκους 32-bits να βρίσκονται σε συνεχόμενα αποθετήρια. Και εδώ, το εύρος ζώνης είναι 32 bits ανά 2 κύκλους ρολογιού. Ετσι, σε αυτή την περίπτωση, είναι δυνατό να υπάρχει διαμάχη αποθετηρίων μεταξύ 2 threads, δίχως να έχει σημασία αν είναι στο πρώτο ή στο δεύτερο μισό warp. Εδώ, bank conflict δημιουργείται μόνο στην περίπτωση που δύο ή περισσότερα threads προσπελαύνουν θέσεις μνήμης που ανήκουν σε διαφορετικά words μήκους 32-bits του ίδιου αποθετηρίου. Αν δύο ή περισσότερα threads προσπελαύνουν θέσεις μνήμης που ανήκουν στο ίδιο word μήκους 32-bits δεν υπάρχει διαμάχη αποθετηρίων. Για εντολές διαβάσματος (read operations) η λέξη προβάλλεται σε όλα τα threads (όπου, αντίθετα με τις κάρτες μικρότερης υπολογιστικής ικανότητας, πολλαπλές λέξεις μπορούν να προβάλλονται ταυτόχρονα). Για εντολές γραφής (write operations) κάθε byte γράφεται από μόνο ένα από τα threads, αν και το ποιο thread θα εκτελέσει την εντολή γραφής δεν είναι αυστηρά καθορισμένο. Στις GPU αρχιτεκτονικής Fermi, έχει προστεθεί η χρήση άλλης μίας, ακόμα, μνήμης, της μνήμης L1. Η L1 χρησιμοποιείται ως μία επιπλέον cache μνήμη, σαν την L2, όμως βρίσκεται πάνω στον SM, επιτυγχάνοντας ακόμα μεγαλύτερες ταχύτητες προσπέλασης. Το σημαντικότερο στοιχείο της L1 μνήμης είναι ότι δεν είναι αυτόνομη, αλλά μοιράζεται τον ίδιο χώρο με την shared μνήμη, συνολικής έκτασης 64 KBytes. Ετσι, κατά τον προγραμματισμό μίας εφαρμογής, ο προγραμματιστής μπορεί να διαλέξει αν θα χρησιμοποιήσει την 48kB shared μνήμης και 16kB L1 μνήμης ή το αντίστροφο, όπως φαίνεται και στο σχήμα

36 Registers Στην κορυφή της ιεραρχίας της μνήμης βρίσκοντοι οι registers. Οι registers α- ποτελούν μία ειδική κατηγορία μνήμης στην οποία αποθηκεύονται όλες οι τοπικές μεταβλητές κάθε thread. Εχουν αμελητέο κόστος προσπέλασης (access latency) και είναι η πιο γρήγορη μορφή μνήμης που διαθέτει η GPU. Στους registers φορτώνονται αυτόματα όλες οι τοπικές μεταβλητές του τρέχοντος kernel και χρησιμοποιούνται και για την αποθήκευση ενδιάμεσων τιμών σε περιπτώσεις σύνθετων πράξεων. Οταν, όμως, ένα thread έχει μεγαλύτερες απαιτήσεις σε registers από όσους μπορεί να διαθέσει η GPU, συμβαίνει υπερχείλιση των registers (register spilling) και η GPU μεταφέρει αυτόματα τις παραπάνω μεταβλητες στη local μνήμη. Το σενάριο αυτό δεν είναι επιθυμητο, καθώς ο χρόνος που χρειάζεται για την προσπέλαση της local μνήμης είναι ο ίδιος με τον χρόνο προσπέλασης της global μνήμης και για αυτό το λόγο πρέπει να αποφεύγονται kernels υπερβολικών απαιτήσεων για registers. Ακόμα, υπάρχει περίπτωση ο μεταγλωττιστής να ορίσει κάποιες τοπικές μεταβλητές στην local μνήμη σε περίπτωση μεγάλων πινάκων ή δομών που θεωρεί ότι θα καταλάμβαναν μεγάλο χώρο από τους registers. Στις GPU αρχιτεκτονικής Fermi, για βελτίωση της απόδοσης της local μνήμης, χρησιμοποιούνται οι cache μνήμες L1 και L2 με τον ίδιο ακριβώς τρόπο που χρησιμοποιούνται για την προσπέλαση της global μνήμης Αλλες προγραμματιστικές δυνατότητες CUDA streams Μία ακόμα δυνατότητα που έχει ένας προγραμματιστής όταν προγραμματίζει σε CUDA είναι προσθέσει στον κώδικά του CUDA streams (ροές CUDA), τα οποία του δίνουν τη δυνατότητα να προγραμματίζει μία σειρά εργασιών που πρέπει να εκτελεστούν σειριακά. Ενα παράδειγμα τέτοιων εργασιών θα μπορούσε να είναι η αντιγραφή ενός πίνακα από τη CPU στη GPU, η αντιστροφή του πίνακα από τη GPU και, στη συνέχεια, η αντιγραφή πίσω στη CPU. Οταν περισσότερα του ενός CUDA streams εκτελούνται παράλληλα, οι εργασίες καθενός stream εκτελούνται παράλληλα και ασύγχρονα με τις εργασίες των υπολοίπων streams, με τρόπο τέτοιο ώστε και η CPU και η GPU να λειτουργούν παράλληλα. Θεωρώντας πως το παραπάνω παράδειγμα έπρεπε να εφαρμοστεί σε τρεις πίνακες αντι για έναν, δίχως χρήση των CUDA streams θα έ- πρεπε πρώτα να αντιγραφούν όλοι οι πίνακες από την CPU στην GPU, στη συνέχεια να γίνει ολόκληρη η επεξεργασία από την GPU και μόνο αφού είχε τελειώσει η GPU την επεξεργασία θα μπορούσε να ξεκινήσει η αντιγραφή από την GPU πίσω στην CPU. Με χρήση των CUDA streams, η παραπάνω διαδικασία παραλληλοποιείται. Μόλις τελειώσει η αντιγραφή του πρώτου πίνακα από τη CPU στη GPU, ξεκινά και το πρώτο kernel να αντιστρέφει τον πρώτο πίνακα. Παράλληλα, η CPU αντιγράφει το δεύτερο πίνακα και, στη συνέχεια, τον τρίτο, ενώ η GPU εκτελεί ακόμα το πρώτο kernel. Μόλις η GPU τελείωσει την αντιστροφή του πρώτου πίνακα, θεωρώντας πως έχει τελειώσει η αντιγραφή του δεύτερου πίνακα, ξεκινά άμεσα την αντιστρο- 2-19

37 φή αυτού. Προφανώς, μετά το δεύτερο πίνακα, με το ίδιο κριτήριο, ξεκινά και η αντιστροφή του τρίτου πίνακα. Η CPU, από την άλλη, μόλις ολοκληρωθούν και οι τρείς αντιγραφές από τη CPU στη GPU καθώς και η αντιστροφή του πρώτου kernel, ξεκινά την αντιγραφή από τη GPU στη CPU, δίχως απαραίτητα να έχουν τελειώσει και οι αντιστροφές των άλλων δύο πινάκων. Η διαδικασία αυτή συνεχίζεται μέχρι εκτελεστούν όλες οι εργασίες που είναι προγραμματισμένες σε κάθε CUDA stream. Αν η κάθε αντιγραφή πίνακα χρειαζόταν περίπου τον ίδιο χρόνο με την αντιστροφή του, το παραπάνω παράδειγμα σκιαγραφείται στα σχήματα 2.11, 2.12 με ή χωρίς τη χρήση CUDA streams. Στον κώδικα που αναπτύχθηκε χρησιμοποιούνται CUDA streams για την άθροιση των υπολοίπων των εξισώσεων της ροής, όπως αναλύεται στην παράγραφο 5. Παράλληλη εκτέλεση kernels Μερικές από τις GPU αρχιτεκτονικής Fermi προσφέρουν τη δυνατότητα στο χρήστη να εκτελεί παράλληλα περισσότερα του ενός kernel, στην ίδια GPU. Αυτή η δυνατότητα του επιτρέπει να χρησιμοποιεί τους πόρους ολόκληρης της GPU ακόμα και όταν τα επιμέρους kernels έχουν μικρές απαιτήσεις και δεν επαρκούν το καθένα από μόνο του για την πλήρη αξιοποίηση της GPU. Ποιοτική απεικόνιση της βελτίωσης αυτής φαίνεται στο σχήμα

38 Με χρήση CUDA streams: CUDA Stream 1 CUDA Stream 2 CUDA Stream 3 Αντιγραφή από CPU σε GPU πίνακα Α Αντιστροφή πίνακα Α από kernel 1 Αντιγραφή από CPU σε GPU πίνακα Β Χρόνος Αντιστροφή πίνακα Β από kernel 2 Αντιγραφή από CPU σε GPU πίνακα Γ Αντιγραφή από CPU σε GPU πίνακα Α Αντιστροφή πίνακα Γ από kernel 3 Αντιγραφή από CPU σε GPU πίνακα Β Αντιγραφή από CPU σε GPU πίνακα Γ Χωρίς χρήση CUDA streams: Αντιγραφή από CPU σε GPU πίνακα Α Αντιγραφή από CPU σε GPU πίνακα Β Αντιγραφή από CPU σε GPU πίνακα Γ Αντιστροφή πίνακα Α από kernel 1 Χρόνος Αντιστροφή πίνακα Β από kernel 2 Αντιστροφή πίνακα Γ από kernel 3 Αντιγραφή από CPU σε GPU πίνακα Α Αντιγραφή από CPU σε GPU πίνακα Β Αντιγραφή από CPU σε GPU πίνακα Γ Σχήμα 2.11: Σειρά εκτέλεσης διεργασιών που πρέπει να πραγματοποιηθούν για την αντιστροφή 3 πινάκων Α, Β και Γ, συναρτήσει του χρόνου. Με χρήση CUDA streams προκύπτει το πάνω χρονοδιάγραμμα, ενώ χωρίς χρήση CUDA streams προκύπτει το κάτω χρονοδιάγραμμα. 2-21

39 Με χρήση CUDA streams: CPU : Αντιγραφή από CPU σε GPU πίνακα Α GPU : Σε αναμονή CPU : Αντιγραφή από CPU σε GPU πίνακα B GPU : Αντιστροφή πίνακα Α από kernel 1 Χρόνος CPU : Αντιγραφή από CPU σε GPU πίνακα Γ GPU : Αντιστροφή πίνακα Β από kernel 2 CPU : Αντιγραφή από GPU σε CPU πίνακα Α GPU : Αντιστροφή πίνακα Γ από kernel 3 CPU : Αντιγραφή από GPU σε CPU πίνακα Β GPU : Σε αναμονή CPU : Αντιγραφή από GPU σε CPU πίνακα Γ GPU : Σε αναμονή Χωρίς χρήση CUDA streams: CPU : Αντιγραφή από CPU σε GPU πίνακα Α GPU : Σε αναμονή CPU : Αντιγραφή από CPU σε GPU πίνακα B GPU : Σε αναμονή CPU : Αντιγραφή από CPU σε GPU πίνακα Γ GPU : Σε αναμονή Χρόνος CPU : Σε αναμονή CPU : Σε αναμονή GPU : Αντιστροφή πίνακα Α από kernel 1 GPU : Αντιστροφή πίνακα Β από kernel 2 CPU : Σε αναμονή GPU : Αντιστροφή πίνακα Γ από kernel 3 CPU : Αντιγραφή από GPU σε CPU πίνακα Α GPU : Σε αναμονή CPU : Αντιγραφή από GPU σε CPU πίνακα Β GPU : Σε αναμονή CPU : Αντιγραφή από GPU σε CPU πίνακα Γ GPU : Σε αναμονή Σχήμα 2.12: Διεργασίες των GPU και CPU, του ίδιου προβλήματος με το σχήμα 2.11, συναρτήσει του χρόνου. Οπως και στο προηγούμενο σχήμα, παρουσιάζεται στο πάνω μέρος η περίπτωση χρήσης CUDA streams και στο κάτω η περίπτωση χωρίς χρήση CUDA streams. 2-22

40 Kernel1 Kernel1 Kernel2 Kernel2 Kernel3 Χρόνος Kernel4 Kernel5 Kernel3 Kernel4 Kernel5 (A) (B) Σχήμα 2.13: Στο σχήμα (A) φαίνεται ο απαιτούμενος χρόνος εκτέλεσης για σειριακή εκτέλεση των kernels ενώ στο σχήμα (B) ο αντίστοιχος χρόνος εκτέλεσης όταν τα kernels εκτελούνται παράλληλα. Το οριζόντιο τμήμα κάθε χρονικού βήματος συμβολίζει την πλήρη υπολογιστική ισχύ της GPU σε κάθε χρονική στιγμή. Προφανώς, για να επωφεληθεί ένας κώδικας από παράλληλη εκτέλεση των επιμέρους kernels, τα kernels που τρέχουν παράλληλα δεν πρέπει να αλληλοεξαρτόνται. 2-23

41 Κεφάλαιο 3 Παρουσίαση των τριδιάστατων εξισώσεων Euler και διακριτοποίησης αυτών Στο κεφάλαιο αυτό παρουσιάζονται οι εξισώσεις ροής, σε συντηρητική και μη- συντηρητική γραφή, για χρονικά μη-μόνιμη, τριδιάστατη ροή ατριβούς συμπιεστού ρευστού, δηλαδη οι εξισώσεις Euler. Ακόμη παρουσιάζεται ο τρόπος αριθμητικής επίλυσης των εξισώσεων αυτών μέσω μεθόδου χρονοπροέλασης (time marching) πεπερασμένων όγκων με σκοπό να εφαρμοστεί σε δομημένα, τριδιάστατα πλέγματα [22], [23]. 3.1 Οι χρονικά μόνιμες εξισώσεις Euler Διαφορική γραφή των χρονικά μόνιμων εξισώσεων Euler Οι εξισώσεις που παρουσιάζονται είναι οι εξισώσεις Euler, σε αδιάστατη συντηρητική γραφή, για χρονικά μη-μεταβαλλόμενη ροή συμπιεστού ρευστού, απουσία βαρυτικών δυνάμεων, στο καρτεσιανό σύστημα αναφοράς, για τριδιάστατες ροές. (ϱu i ) t (ϱe) t ϱ t + (ϱu r) = 0 x r + x r (ϱu r u i + pδ ri ) = 0 (i = 1, 2, 3) (3.1) + x r [u r (ϱe + p)] = 0 όπου ϱ είναι η πυκνότητα του ρευστού, u r (r = 1, 2, 3) η συνιστώσα της ταχύτητας κατά την κατεύθυνση x r, E η ολική ενέργεια ανά μονάδα μάζας, e η εσωτερική ενέργεια ανά μονάνδα μάζας, και p η πίεση του ρευστού. Ο χρονικός όρος που υπάρχει στις εξισώσεις αποτελεί έναν ψευδοχρονικό όρο και έχει προστεθεί για την 3-1

42 εκμετάλλευση των ιδιοτήτων των υπερβολικών συστημάτων και για την εφαρμογή μίας μεθόδου χρονοποέλασης. Οπου υπάρχουν διπλά επαναλαμβανόμενοι δείκτες νοείται άθροιση σύμφωνα με τη σύμβαση του Einstain, εκτός αν δηλώνεται ρητά το αντίθετο. Η ολική ενέργεια ανά μονάδα μάζας εκφράζεται από τη σχέση: E = e u ru r (3.2) Ορίζοντας το διάνυσμα των συντηρητικών μεταβλητών ϱ ϱ ϱu 1 ϱu U = ϱu 2 = ϱv ϱu 3 ϱw E E καθώς και το διανύσμα της μη-συνεκτικής ροής κατά την κατεύθυνση x r ϱu r ϱu 1 u r + pδ 1r Fr = ϱu 2 u r + pδ 2r ϱu 3 u r + pδ 3r u r (ϱe + p) οι εξισώσεις 3.1 μπορούν να γραφούν στην παρακάτω διανυσματική γραφη (3.3) (3.4) U t + F r x r = 0 (3.5) Ακόμα, γίνεται η παραδοχή του τέλειου αερίου. Ως τέλειο αέριο ορίζεται το αέριο του οποίου η συμπεριφορά ακολουθεί την καταστατική εξίσωση: p = ϱr g T (3.6) όπου R g είναι η σταθερά του τέλειου αερίου και υπολογίζεται σύμφωνα με τις ειδικές θερμοχωρητικότητες υπό σταθερή πίεση και όγκο, c p και c v αντίστοιχα, από την σχέση: R g = c p c v (3.7) Ως θερμοχωρητικότητα ορίζεται η θερμότητα που απορροφά ή εκλύει ένα σώμα κατά τη μεταβολή της θερμοκρασίας του κατά έναν βαθμό Κελσίου ( o C). Η ειδική θερμοχωρητικότητα εκφράζει την αντίστοιχη ποσότητα θερμοκρασίας ανά μονάδα μάζας, ενώ οι δείκτες «υπό σταθερή πίεση» ή «υπό σταθερό όγκο» εκφράζουν μεταβολές με σταθερή πίεση ή όγκο, αντιστοιχα. Ετσι, οι μαθηματικές εκφράσεις της ειδικής θερμοχωρητικότητας ορίζονται: c p = ( q T ) p, c v = ( q T ) v 3-2

43 ή ισοδύναμα με χρήση του πρώτου θερμοδυναμικού αξιώματοσ: c p = ( h T ) p, c v = ( e T ) v (3.8) όπου με h συμβολίζεται η ενθαλπία του ρευστού ανά μονάδα μάζας. Η σχέση που συνδέει τη στατική ενθαλπία με την εσωτερική ενέργεια είναι η: h = e + p ϱ (3.9) Γενικά, οι ειδικές θερμοχωτητικότητες μπορούν να υπολογιστούν γνωρίζοντας δύο οποιαδήποτε θερμοδυναμικά μεγέθη. Στα τέλεια αέρια χρειάζεται μόνο η γνώση της θερμοκρασίας. Ομως η μεταβολή συναρτήσει της θερμοκρασίας είναι μικρή για τα τέλεια αέρια και για αυτό συνήθως παραλείπεται και οι ειδικές θερμοχωρητικότητες θεωρούνται ως σταθερές. Σύμφωνα με αυτά, ολοκληρώνοντας τις εξισώσεις 3.8 προκύπτει: e = c v T, h = c p T (3.10) Τέλος, οριζεται ο εκθέτης ισεντροπικής μεταβολής γ σύμφωνα με τη σχέση: γ = c p c v (3.11) Ενδεικτικά, θεωρώντας τον αέρα ως τέλειο αέριο οι παραπάνω σταθερές που τον χαρακτηρίζουν είναι: R g = m 2 sec 2 K 1 c p = m 2 sec 2 K 1 c v = m 2 sec 2 K 1 γ = 1.4 Με χρήση των προηγούμενων, η εξίσωση 3.2 μπορεί να γραφεί και ωσ: E = Επίσης, η ολική ενθαλπία δίνεται από τη σχέση: p γ ϱu ru r (3.12) h t = E + p ϱ = γp ϱ(γ 1) u ru r (3.13) Αδιαστατοποίηση των εξισώσεων Πριν από την διακριτοποίηση και την επίλυση των εξισώσεων προηγείται η αδιαστατοποίηση αυτών. Για την αδιαστατοποίηση των εξισώσεων επιλέγονται κάποιες καταλληλες παράμετροι αδιαστατοποίησης, τα μεγέθη αναφοράς (reference), σύμφωνα με τις οποίες προκύπτουν τα ακόλουθα αδιάστατα μεγέθη: 3-3

44 x i = x i L re f, ŭ i = u i U re f, ϱ = ϱ ϱ re f (3.14) όπου L re f, U re f και ϱ re f συμβολίζονται το μήκος αδιαστατοποίησης, η ταχύτητα α- διαστατοποίησης και η πυκνότητα αδιαστατοποίησης, αντίστοιχα. Με το σύμβολο συμβολίζονται οι αντίστοιχες αδιάστατες ποσότητες. Ακόμα επιλέγεται: Δηλαδή: R g = γ 1 (3.15) ( Rg ) re f = c v (3.16) Ομως, είναι επιθυμητό η τελική μορφή των εξισώσεων να διατηρήσει την αρχική μορφή της, έχοντας αντί για τις διαστατές τιμές, τις αντίστοιχες αδιάστατες. Με αυτό, ως γνώμονα, αντικαθιστώντας τα διαστατά μεγέθη στις γνωστές εξισώσεις με τα αδιάστατα και συγκρίνοντας την καινούργια μορφη κάθε εξίσωσης με την επιθυμητή προκύπτουν τα μεγέθη αναφοράς και των υπόλοιπων παραμέτρων. Αδιαστατοποίηση πίεσης p t = p + 1ϱ 2 u 2 u = 2 (p ϱ t p) u = 1 p re f U re f ϱ re f ( p t p) όμως η μορφή των σχέσεων είναι επιθυμητό να παραμένει ίδια μετά την εισαγωγή των αδιάστατων μεγεθών, δηλαδή: u = 2 ( p ϱ t p) Επιλέγουμε δηλαδή: 2 ϱ U re f = pre f ϱ re f p re f = ϱ re f U 2 re f Αδιαστατοποίηση θερμοκρασίας p = ϱr g T p = ( ϱre ) f(r g) re f T re f p re f ϱ R g T ϱ re f(r g) re f T re f p re f = 1 T re f = U2 re f c v Αδιαστατοποίηση θερμοχωρητικοτήτων 3-4

45 T t = T + 1 2c p u 2 u = 2cp (T t T) u ( (cp ) = re f T re f Ure 2 f ( (cp ) re f T re f ) ( U re f = 1 cp = )re U2 re f f T re f ( c p = c v )re f ) 2 c p ( T t T ) γ = c p c v γ = ( (c p ) re f (c v ) re f ) cp c v (c v ) re f = c v Αδιαστατοποίηση εσωτερικής ενέργειας e = c v T ĕ = ( (c v ) re f T re f e re f ) cv T e re f = U 2 re f Αδιαστατοποίηση ενθαλπίας h = c p T h = ( (c p ) re f T re f h re f ) cp T h re f = U 2 re f Αδιαστατοποίηση ολικής ενέργειας E = p + 1ϱ γ 1 2 u 2 [( ) Ĕ = 1 p pre E re f f + ( 1 ϱre γ 1 2 f U ) 2 ϱ re f u 2 ] ( Ĕ = ϱ re f Ure 2 f p + 1 ϱ E re f u 2 ) γ 1 2 E re f = ϱ re f U 2 re f Τελικά η αδιαστατοποίηση των υπολοίπων θερμοδυναμικών μεγεθών (δηλαδή πλην αυτών που φαίνονται στις σχέσεις 3.14) γίνεται όπως παρακάτω: p = p ϱ re f U 2 re f, T = T U 2 re f /c v, ĕ = e U 2 re f, h = h U 2 re f, Ĕ = E ϱ re f U 2 re f (3.17) Οπως επίσης : c p = γ, c v = 1 (3.18) 3-5

46 Διατύπωση αδιάστατων εξισώσεων Εξίσωση συνέχειας Η εξίσωση της συνέχειας αποτελεί την πρώτη γραμμή των εξισώσεων 3.1. Για πρακτικούς λόγους, οι εξισώσεις συνέχειας, ορμής και ενέργειας θα γραφούν στην μορφή της εξίσωσης 3.5, με χρήση των διανυσμάτων U και F r, όπως αυτά ορίστικαν στις σχέσεις 3.3 και 3.4. Εξίσωση συνέχειας Ομως U 1 t + (F r) 1 x r = 0 (U 1 ) re f Ŭ 1 + ((F r) 1 ) re f (F r ) 1 = 0 t re f t L re f x r U 1 = ϱ (U 1 ) re f = ϱ re f (F 1 ) 1 = ϱu (F 1 ) re f = ϱ re f U re f (F 2 ) 1 = ϱv (F 2 ) re f = ϱ re f U re f (F 3 ) 1 = ϱw (F 3 ) re f = ϱ re f U re f Επομένως ( L re f U re f t re f ) Ŭ1 t + (F r ) 1 = 0 x r Ορίζοντας κατάλληλα το χρονικό μέγεθος αναφοράς t re f, η ποσότητα μπροστα από τον χρονικό όρο μπορεί να απαλειφθεί, ενώ παράλληλα έχει επιτευχθεί και ο αρχικός στόχος, η διαστατή και η αδιάστατη εξίσωση να είναι ίδιες. Επιλέγεται, συνεπώς : Διατήρηση ορμής t re f = L re f U re f, t = t L re f /U re f (3.19) Οι εξισώσεις διατήρησης της ορμής είναι η δεύτερη γραμμή των εξισώσεων 3.1, και αποτελείται από τρείς εξισώσεις, μία για κάθε κατεύθυνση x, y και z. Θα ακολουθήσει η εξαγωγή μόνο της αδιάστατης κατά x διατήρησης της ορμής, με εκείνες για την y και την z κατευθύνσεις να ακολουθούν τον ίδιο δρόμο και να διαφοροποιούνται μόνο στους δείκτες του διανύσματος των συντηρητικών μεταβλητών και των διανυσμάτων ροής (3 και 4 αντί για 2). 3-6

47 Εξίσωση ορμής κατά x Ομως U 2 t + (F r) 2 x r = 0 (U 2 ) re f Ŭ 2 + ((F r) 2 ) re f (F r ) 2 = 0 t re f t L re f x r U 2 = ϱu (U 2 ) re f = ϱ re f U re f (F 1 ) 2 = ϱu 2 + p ((F 1 ) 2 ) re f = ϱ re f U 2 re f (F 2 ) 2 = ϱuv ((F 2 ) 2 ) re f = ϱ re f U 2 re f (F 3 ) 2 = ϱuw ((F 3 ) 2 ) re f = ϱ re f U 2 re f Οπότε η αδιάστατη εξίσωση ορμής κατά x, με απλή αντικατάσταση, παίρνει τη μορφή: Διατήρηση ενέργειας Εξίσωση ενέργειας Ŭ 2 t + (F r ) 2 = 0 x r Ομως U 5 t + (F r) 5 x r = 0 (U 5 ) re f Ŭ 5 + ((F r) 5 ) re f (F r ) 5 = 0 t re f t L re f x r U 5 = E (U 5 ) re f = ϱ re f U 2 re f (F 1 ) 5 = (E + p)u ((F 1 ) 5 ) re f = ϱ re f U 3 re f (F 2 ) 5 = (E + p)v ((F 2 ) 5 ) re f = ϱ re f U 3 re f (F 3 ) 5 = (E + p)w ((F 3 ) 5 ) re f = ϱ re f U 3 re f Και εδώ, με απλή αντικατάσταση προκύπτει: Ŭ 5 t + (F r ) 5 = 0 x r Τελικά, το κέρδος της αδιαστατοποίησης, είναι ότι πλέον, η κάθε επίλυση ενός συστήματος εξισώσεων Euler δεν εκφράζει μία μεμονωμένη περίπτωση, αλλά μία 3-7

48 οικογένεια όμοιων εφαρμογών, ενώ το τελικό σύστημα δεν διαφέρει σε τίποτα από το αρχικό των εξισώσεων 3.1. Ομως, ολόκληρη η διαδικασία της αδιαστατοποίησης βασίστηκε στα μεγέθη αναφοράς L re f, U re f και ϱ re f. Η επιλογή των μεγεθών αυτών είναι απόφαση του χρήστη και είναι άμεσα συνδεδεμένη με το είδος του προβλήματος προς επίλυση. Σε προβλήματα εσωτερικής αεροδυναμικής, δεδομένου ότι συνήθως δίνονται η ολική πίεση p in t και ολική θερμοκρασία Tt in στην είσοδο, τα μεγέθη αναφοράς επιλέγονται με τέτοιο τρόπο ώστε p in t = 1 και T t in = 1. Αντίθετα, σε προβλήματα εξωτερικής αεροδυναμικής, όπου συνήθως δίνονται η στατική πυκνότητα ϱ και η ταχύτητα u στο επ άπειρο όριο, τα μεγέθη αναφοράς επιλέγονται με τέτοιο τρόπο ώστε να ισχύει ϱ = 1 και u. Στη συνέχεια, οποιαδήποτε αναφορά στις εξισώσεις αναφέρεται στις αδιάστατες εξισώσεις, αλλά για πρακτικούς λόγους παραλείπεται το αντίστοιχο σύμβολο σε κάθε μέγεθος. 3.2 Διακριτοποίηση του χωρίου ροής Οπως είναι γνωστό, πριν την αριθμητική επίλυση οποιουδήποτε προβλήματος ροής, απαιτείται η διακριτοποίηση του χωρίου ροής, δηλαδή η κατασκευή του πλέγματος στους κόμβους του οποίου θα επιλυθούν οι εξισώσεις ροής. Τα πλέγματα χωριζονται σε δύο βασικές κατηγορίες, τα δομημένα και τα μη-δομημένα. Ο επιλύτης που αναπτύχθηκε στα πλαίσια αυτής της εργασίας έχει ως σκοπό τη διερεύνηση των επιδόσεων των GPU σε προβλήματα ροής διακριτοποιημένα με χρήση δομημένων πλεγμάτων. Ετσι, όλες οι παρακάτω αναφορές απευθύνονται σε δομημένα πλέγματα. Τα δομημένα πλέγματα αποτελούνται από αυστηρά ταξινομημένους κόμβους και αποκλειστικά απο τετραπλευρικά στοιχεία, για διδιάστατα πλέγματα, ή εξαεδρικά στοιχεία, για τριδιάστατα πλέγματα. Τα πλεονεκτήματα των δομημένων πλεγμάτων απορρέουν από την αυστηρή ταξινόμηση των κόμβων τους. Βασικό πλεονέκτημα της δομής είναι η εκ των προτέρων γνωστή σχετική θέση κάθε κόμβου, οπότε είναι γνωστοί και οι γείτονες του εκάστοτε κόμβου, δίχως την ανάγκη για αποθήκευση επιπλέον πληροφοριών, όπως συμβαίνει στα μη-δομημένα πλέγματα. Αυτή η βασική διαφορά επιτρέπει στους επιλύτες δομημένων πλεγμάτων να μπορούν να λειτουργήσουν με μικρότερες απαιτήσεις μνήμης, συγκριτικά με αντίστοιχους επιλύτες μη-δομημένων πλεγμάτων. Επίσης, στα δομημένα πλέγματα υπάρχει η δυνατότητα ανάπτυξης επιλυτών, με σχήματα πεπερασμένων διαφορών, μεγαλύτερης ακρίβειας και τα μητρώα των συντελεστών που προκύπτουν είναι διαγώνιας μορφής. Ενα ακόμα σημαντικό πλεονέκτημα είναι ότι λόγω της δομής των κόμβων του πλέγματος, αντίστοιχα είναι ταξινομημένες όλες οι πληροφορίες μέσα στην μνήμη του υπολογιστή. Καλύτερη προσπέλαση μνήμης κατά την εκτέλεση του προγράμματος μεταφράζεται σε καλύτερους χρόνους επίλυσης, ιδιαίτερα στις GPU όπου ο τρόπος προσπέλασης της μνήμης είναι καθοριστικής σημασίας. 3-8

49 3.3 Διακριτοποίηση των εξισώσεων ροής Ορισμός όγκων ελέγχου Για την διακριτοποίηση των εξισώσεων 3.5 χρησιμοποιείται ένα σχήμα πεπερασμένων όγκων, με κεντροκομβική προσέγγιση. Για την εφαρμογή αυτού χρειάζεται ο ορισμός των όγκων ελέγχου γύρω από τους κόμβους του πλέγματος, στους οποίους και αποθηκεύονται όλες οι μεταβλητές της ροής. Μία σωστή επίλυση του προβλήματος ροής επιβάλλει οι όγκοι ελέγχου να καλύπτουν ολόκληρο το χωρίο ροής, αλλά και να μην αλληλοκαλύπτονται. Η μέθοδος επίλυσης που αναπτύσσεται στην παρούσα εργασία αναφέρεται σε δομημένα, τριδιάστατα πλέγματα, οπότε όλα τα πλεγματικά στοιχεία που περιβάλλουν έναν τυχαίο κόμβο P είναι εξαεδρικά. Ακόμα, είναι γνωστό εκ των προτέρων πως ένας εσωτερικός κόμβος P περιβάλλεται από 8 εξάεδρα και 6 γειτονικούς κόμβους πρώτου βαθμού. Για έναν οριακό κόμβο P τα περιβάλλοντα εξάεδρα μπορεί να είναι 4, 2 ή 1 και οι γειτονικοί κόμβοι 5, 4 ή 3 άμα ο κόμβος είναι οριακός σε 1, 2 ή και 3 από τους άξονες i, j, k του πλέγματος, αντίστοιχα. Κάθε γειτονικό εξάεδρο προσφέρει στον όγκο ελέγχου ενός τυχαίου κόμβου P έναν όγκο, όπως απεικονίζεται στο σχήμα 3.1, που ορίζεται από το σημείο P, τους μεσόκομβους κάθε ακμής που συντρέχει στον κόμβο P, που συμβολίζονται με S 1, S 2 και S 3 στο σχήμα, τα κέντρα βάρους των πλευρών στις οποίες ανήκουν οι προαναφερθείσες ακμές, τα σημεία F 1, F 2 και F 3, καθώς και το κέντρο βάρους του εκάστοτε εξαέδρου, το σημείο G. Για λόγους ευκρίνειας παρουσιάζεται μόνο ένα από τα 8 γειτονικά εξάεδρα, αντί για ολόκληρο τον όγκο ελέγχου. Είναι σημαντικό να αναφερθεί πως τα 4 σημεία που ορίζουν κάθε επιφάνεια δεν είναι απαραίτητα συνεπίπεδα, οπότε και πρέπει να βρεθεί μονοσήμαντος τρόπος διαχείρισης των επιφανειών αυτών ώστε να τηρείται η συνθήκη της μη αλληλοκάλυψης των όγκων ελέγχου. Η μέθοδος που χρησιμοποιήθηκε στην παρούσα εργασία είναι η διάσπαση κάθε επιφάνειας σε 2 τρίγωνα όπως φαίνεται στο σχήμα 3.2. Κατά την διάσπαση κάθε επιφάνειας χρειάζεται προσοχή, καθώς η διάσπαση πρέπει να ορίζεται μονοσήμαντα και πρέπει να γίνει με τέτοιο τρόπο ώστε 2 γειτονικά εξάεδρα να μην αλληλοκαλύπτονται, αλλά και να μην δημιουργείται κενό ανάμεσά τους Ολοκλήρωση στους όγκους ελέγχου Στη συνέχεια, γίνεται ολοκλήρωση των εξισώσεων 3.5 στους όγκους ελέγχου. ολοκλήρωση του όγκου ελέγχου ενός τυχαίου κόμβου P δίνει: V P U t dv + Εφαρμόζοντας το θεώρημα Green-Gauss και θεωρώντας ότι V P ισχύει: V P 3-9 F r x r dv = 0 (3.20) Η ( ) U dv = U V P, t t P

50 Σχήμα 3.1: Προσφορά κάθε γειτονικού εξάεδρου στον όγκο ελέγχου. U t V P + P V P F r ˆn r d( V) = 0 (3.21) όπου V P είναι ο όγκος του όγκου ελέγχου, V P η οριακή επιφάνεια αυτού και ˆn = (ˆn x, ˆn y, ˆn z ) το κάθετο μοναδιαίο διάνυσμα στην οριακή επιφάνεια με φορά προς το εξωτερικό του. Θέτοντας : Ĥ = F r ˆn r H = F r n r (3.22) η έκφραση 3.21 γίνεται: ή U t V P + P V P U t V P + P Q K(P) Ĥd( V) = 0 ΦPQ = 0 (3.23) όπου Q οι γειτονιτοί κόμβοι του P και το διάνυσμα ροής Φ PQ ορίζεται: 3-10

51 i, j+1, k+1 i, j, k+1 i+1, j+1, k+1 i+1, j, k+1 i, j+1, k i, j, k i+1, j+1, k i+1, j, k Σχήμα 3.2: Διάσπαση κάθε επιφάνειας ενός εξάεδρου στοιχείου σε 2 τρίγωνα. ΦPQ = Ĥd( V) (3.24) V P Η επιφάνεια ολοκλήρωσης για τον υπολογισμό του διανύσματος ροής Φ PQ αντιστοιχεί στο κοινό όριο των όγκων ελέγχου, του κόμβου P και του εκάστοτε γειτονικού κόμβου Q, όπως φαίνεται στο σχήμα Υπολογισμός διανύσματος ροής Το διάνυσμα ροής Φ PQ υπολογίζεται σε κάθε ακμή και αφαιρείται ή προστίθεται ανάλογα, στον ισολογισμό της κυψέλης στην οποία αναφέρεται. Ο υπολογισμός του γίνεται σύμφωνα με τις τιμές των συντηρητικών μεταβλητών εκατέρωθεν του μέσου της ακμής PQ, οι οποίες υπολογίζονται συναρτήσει των αντίστοιχων τιμών στους κόμβους P και Q, με προεκβολή ακρίβειας δεύτερης τάξης. Επίσης συνυπολογίζεται το κάθετο διάνυσμα n PQ που είναι το διανυσματικό άθροισμα των n 1, n 2, n 3 και n 4, όπως αυτά φαίνονται στο σχήμα 3.3. Ομως, όπως έχει αναφερθεί και παραπάνω, τα 4 σημεία που ορίζουν κάθε επιφάνεια σε κάθε στοιχειώδες εξάεδρο δεν είναι κατ ανάγκη συνεπίπεδα. Ετσι, για τον υπολογισμό καθενός από τα διανύσματα αυτά, χρειάζεται η διαίρεση της επιφάνειας σε 2 τριγωνικές, επίσης όπως έχει αναφερθεί παραπάνω, ο υπολογισμός των κάθετων προς αυτές διανυσμάτων και η άθροισή τους, ανά δύο, για να προκύψει το αποτέλεσμα του σχήματος 3.3. Ετσι προκύπτει: n PQ = n 1 + n 2 + n 3 + n 4 (3.25) ΦPQ = f ( U L PQ, U R PQ, n PQ ) 3-11 (3.26)

52 Σχήμα 3.3: Κοινό όριο των όγκων ελέγχου ανάμεσα στους κόμβους P και Q. Πριν τη διατύπωση της έκφρασης του διανύσματος ροής, χρειάζεται να οριστεί το ιακωβιανό μητρώο του διανύσματος F r ως προς τις συντηρητικές μεταβλητές U. Ακόμα οριζεται: A r ˆ= F r U (3.27) A ˆ=A r n r A = F r n r = ( F r n r ) U A = H U (3.28) U Από την καταστατική εξίσωση των τελείων αερίων εύκολα μπορεί να αποδειχθεί ότι ικανοποιείται η έκφραση p = ϱ f (e). Σε συνδυασμό με τον τρόπο ορισμού του ιακωβιανού μητρώου A r, το διάνυσμα της ροής F r είναι ομογενής συνάρτηση πρώτου βαθμού, κύρια ιδιότητα των οποίων είναι: F r = A r U (3.29) Ακολουθώντας την πορεία της εξαγωγής της σχέσης 3.28 εύκολα προκύπτει: H = A U (3.30) 3-12

53 Υπολογισμός ιακωβιανού μητρώου A Επαναλαμβάνεται, για πρακτικούς λόγους, ο ορισμός του διανύσματος ροής F r ϱu r ϱu 1 u r + pδ 1r Fr = ϱu 2 u r + pδ 2r ϱu 3 u r + pδ 3r u r (ϱe + p) Επομένως, σύμφωνα με τον ορισμό του H ισχύει: ϱ(u r n r ) ϱu(u r n r ) + pn x H = F r n r = ϱv(u r n r ) + pn y ϱw(u r n r ) + pn z (ϱe + p)(u r n r ) (3.31) Για την εύρεση του ιακωβιανού μητρώου εξυπηρετεί η μετονομασία των συντηρητικών μεταβλητών ως εξής : ϱ µ 1 ϱu µ 2 U = ϱv = µ 3 ϱw µ 4 ϱe µ 5 (3.32) Ετσι, το διάνυσμα ροής H, σύμφωνα με την ονομασία αυτή, γράφεται: µ 2 n x + µ 3 n y + µ 4 [ n z µ 2 µ 1 (µ 2 n x + µ 3 n y + µ 4 n z ) + (γ 1) µ [ µ 3 H = µ 1 (µ 2 n x + µ 3 n y + µ 4 n z ) + (γ 1) µ µ 4 µ 1 (µ 2 n x + µ 3 n y + µ 4 n z ) + (γ 1) ( γµ 5 γ 1 2 µ 2 2 +µ2 3 +µ2 4 µ 1 ) µ2 n x +µ 3 n y +µ 4 n z µ 1 µ 2 2 +µ2 3 +µ2 4 µ 1 ] n x µ 2 2 +µ2 3 +µ2 4 µ 1 ] n y [ ] µ 5 1 µ 2 2 +µ2 3 +µ2 4 2 µ 1 n z (3.33) Μετά από παραγώγιση κάθε όρου του διανύσματος ροής προκύπτει: 3-13

54 H 1 µ 1 = 0 H 1 µ 2 = n x H 1 µ 3 = n y H 1 µ 4 = n z H 1 µ 5 = 0 H 2 = u (u r n r ) + γ 1 (u r u r ) n x µ 1 2 H 2 µ 2 = u r n r + (2 γ)un x H 2 µ 3 = un y (γ 1)vn x H 2 µ 4 = un z (γ 1)wn x H 2 µ 5 = (γ 1)n x H 3 = v (u r n r ) + γ 1 (u r u r ) n y µ 1 2 H 3 µ 2 = vn x (γ 1)un y H 3 µ 3 = u r n r + (2 γ)vn y H 3 µ 4 = vn z (γ 1)wn y H 3 µ 5 = (γ 1)n y 3-14

55 H 4 = w (u r n r ) + γ 1 (u r u r ) n z µ 1 2 H 4 µ 2 = wn x (γ 1)un z H 4 µ 3 = wn y (γ 1)vn z H 4 µ 4 = u r n r + (2 γ)wn z H 4 µ 5 = (γ 1)n z H 5 = [ γe + (γ 1) (u r u r ) ] (u r n r ) µ 1 [ H 5 = γe γ 1 ] (u r u r ) n x (γ 1)u (u r n r ) µ 2 2 [ H 5 = γe γ 1 ] (u r u r ) n y (γ 1)v (u r n r ) µ 3 2 [ H 5 = γe γ 1 ] (u r u r ) n z (γ 1)w (u r n r ) µ 4 2 H 5 = γ (u r n r ) µ 5 Οπότε είναι: A(:, 1) = A(:, 2) = 0 u (u r n r ) + γ 1 (u 2 ru r ) n x v (u r n r ) + γ 1 (u 2 ru r ) n y w (u r n r ) + γ 1 (u 2 ru r ) n [ γe z + (γ 1) (ur u r ) ] (u r n r ) n x u r n r + (2 γ)un x vn x (γ 1)un y [γe x (γ 1)un z γ 1wn (u 2 ru r ) ] n x (γ 1)u (u r n r ) n y un y (γ 1)vn x A(:, 3) = u r n r + (2 γ)vn y [γe y (γ 1)vn z γ 1wn (u 2 ru r ) ] n y (γ 1)v (u r n r ) (3.34) 3-15

56 A(:, 4) = n z un z (γ 1)wn x vn z (γ 1)wn y [γe r n r + (2 γ)wn z γ 1u (u 2 ru r ) ] n z (γ 1)w (u r n r ) 0 (γ 1)n x A(:, 5) = (γ 1)n y (γ 1)n z γ (u r n r ) οι ιδιοτιμές του μητρώου A έχουν υπολογιστεί και είναι: λ 1 = u n λ 2 = u n λ 3 = u n (3.35) ( ) λ 4 = u ˆn + c n ( ) λ 5 = u ˆn c n Ακόμα, υπολογίζονται τα αριστερά και δεξιά ιδιοδιανύσματα του μητρώου A. Τα δεξιά ιδιοδιανύσματα ικανοποιούν την σχέση (A λ k I k )r k = 0, ενώ τα αριστερά ιδιοδιανύσματα ικανοποιούν την σχέση l k (A λ k I) = 0 (k = 1, 2, 3, 4, 5). Με I συμβολίζεται ο μοναδιαίος πίνακας. Πλέον, το μητρώο A μπορεί εύκολα να γραφεί στην μορφή όπου Λ διαγώνιος πίνακας με τις ιδιοτιμές του A και Ακόμα, ορίζονται τα μητρώα: A = PΛP 1 (3.36) l 1 P = [ ] l 2 r 1 r 2 r 3 r 4 r 5, P 1 = l 3 l 4 l 5 (3.37) A + = PΛ + P 1, A = PΛ P 1 (3.38) A = A + A (3.39) όπου το μητρώο Λ + περιέχει τις θετικές ιδιοτιμές, ενώ το μητρώο Λ τις αρνητικές ιδιοτιμές. Εχοντας ορίσει τα ιακωβιανά μητρώα, ακολουθεί ο ορισμός του διανύσματος της ροής Φ PQ, σύμφωνα με το σχήμα του Roe [24]. Ετσι, ισχύει: 3-16

57 ΦPQ = 1 [ ( H U R 2 PQ, ) n PQ + ( U L H PQ, )] n PQ 1 ( Ã U R 2 PQ PQ ) U L PQ ΦPQ = 1 ] [A 2 RU RPQ + A LU LPQ 1 ( Ã U R 2 PQ PQ ) U L PQ ΦPQ = 1 ( AR ÃPQ ) U R 2 PQ + 1 ( AL ÃPQ ) U L 2 PQ (3.40) ΦPQ = A R U R PQ + A L U L PQ όπου Ã PQ είναι το μητρώο που προκύπτει από τις απόλυτες τιμές των ιδιοτιμών του A, σχέση 3.39, υπολογισμένο με βάση τις κατά Roe μέσες τιμές των πρωτευουσών μεταβλητών. Αυτές δίνονται: Ũ PQ = [ ϱ ũ ṽ w p ] T (3.41) Για τον υπολογισμό των συνιστωσών, πέρα της πίεσης, χρησιμοποιείται η σχέση 3.42, ενώ για τον υπολογισμό της μέσης, κατά Roe πίεσης, υπολογίζεται η μέση τιμή της ολικής ενθαλπίας σύμφωνα με την σχέση 3.43 και στη συνέχεια υπολογίζεται η πίεση. Ũ PQ = ϱl U L + ϱ R U R ϱl + ϱ R (3.42) h t = γp (γ 1)ϱ (u ru r ) (3.43) Αύξηση της ακρίβειας του σχήματος και χρήση περιοριστών Στην μέχρι τωρα ανάλυση, έχει γίνει αναφορά στις τιμές εκατέρωθεν του μέσου της ακμής PQ, αλλά δεν έχει αναφερθεί ο τρόπος υπολογισμού των τιμών αυτών. Ο τρόπος υπολογισμού των τιμών αυτών σχετίζεται με την ακρίβεια της χωρικής διακριτοποίησης των εξισώσεων ροής. Η πιο απλή λύση είναι η θεώρηση U L PQ = U P U R PQ = U Q (3.44) η οποία και αντιστοιχεί σε χωρική διακριτοποίηση πρώτης τάξης. Εναλλακτικά, με χρήση του θεωρήματος του Taylor μπορεί να αυξηθεί η τάξη της χωρικής διακριτοποίησης. Για χωρική διακριτοποίηση δεύτερης τάξης ακρίβειας, ο τύπος υπολογισμού των τιμών εκατέρωθεν του μέσου της ακμής PQ είναι: U L PQ = U P + 1 ( PQ 2 U R PQ = U Q 1 2 PQ 3-17 ) U ( ) U P Q (3.45)

58 Βασικό μειονέκτημα της αύξησης της ακρίβειας της χωρικής διακριτοποίησης με αυτόν τον τρόπο, είναι η ανάγκη για υπολογισμό της πρώτης παραγώγου των μεταβλητών της ροής. Περιοριστής Van Leer-Van Albada [25] Ο περιοριστής αυτός, αποτελεί τροποποίηση του αρχικού περιοριστη του Van Leer, ώστε σε περιοχές μικρής κλίσης να παίρνει τιμές πλησιέστερες στη μονάδα, δηλαδή να επεμβαίνει λιγότερο στην υπολογισμένη κατά Taylor προεκβολή σε περιοχές που δεν υπάρχει λόγος περιορισμού της κλίσης. Είναι ένας από τους πρώτους περιοριστές που αναπτύχθηκαν, είναι απλός στην εφαρμογή και δεν επηρεάζει ιδιαίτερα την σύγκλιση των εξισώσεων ροής. Τα βασικότερα μειονεκτήματά του είναι ο μονοδιάστατος χαρακτήρας του, δηλαδή η εξάλειψη των ταλαντώσεων γίνεται μόνο κατά τη διεύθυνση της προεκβολής, δηλαδή αυτήν της ακμής στην οποία υπολογίζεται το διάνυσμα ροής, και η έλλειψη μαθηματικού μηχανισμού απενεργοποίησής του σε περιοχές που δεν είναι απαραίτητος, όπως σε περιοχές ελεύθερης ροής, ενώ μπορεί να μειώσει την τάξη ακρίβειας της λύσης σε περιοχές του πεδίου όπου υπάρχουν ακρότατα στη λύση. Με χρήση του περιοριστη Van Leer-Van Albada, ο τύπος υπολογισμού των τιμών εκατέρωθεν του μέσου της ακμής PQ είναι: U L PQ = U P LIM 2 U x r U R PQ = U Q 1 2 LIM 2 U x r P Q x PQ r x PQ r U PQ, U PQ U PQ, U PQ (3.46) όπου και U PQ = U Q U P (a 2 +η)b+(b 2 +η)a, ab > 0 a LIM(a, b) = 2 +b 2 +2η 0, ab <= Διακριτοποίηση του χρονικού όρου και επιλογή του χρονικού βήματος Στη παρούσα εργασία αναλύεται η μέθοδος επίλυσης ( ) χρονικά μόνιμων ροών, όπως παρατηρείται η ύπαρξη του χρονικού όρου V P. Ο χρονικός όρος αποτελεί ψευδοχρονικό όρο και έχει προστεθεί για διευκόλυνση της σύγκλισης των εξισώσεων, σύμφωνα με την τεχνική της χρονοπροέλασης. Η διακριτοποίησή του γίνεται μέσω πρώτης τάξης σχήματος ανάντι διαφόρισης του Euler 3-18 U t P

59 U t V P = V P t U P (3.47) P P όπου ( ) U n+1 ( ) U P P U n = P (ο εκθέτης n αντιστοιχεί στο τρέχον χρονικό βήμα). Για επιτάχυνση της σύγκλισης εφαρμόζεται η τεχνική του τοπικού χρονικού βήματος [26]. Ο τύπος από τον οποίο προκύπτει το ψευδοχρονικό βήμα σε κάθε κόμβο είναι: t P = CFL V P C (3.48) όπου CFL είναι ο αριθμός Courant-Friedrichs-Lewy [27] και ο όρος C υπολογίζεται από την σχέση C = ( u P r + c P) S P r (3.49) όπου S i P είναι η προβολή των τμημάτων που απαρτίζουν τα όρια του όγκου ελέγχου του κόμβου P κατά την κατεύθυνση i, δηλαδή S P r = 1 2 Q K(P) n PQ r (3.50) 3.4 Οριακές συνθήκες Ολόκληρη η ανάλυση που προηγήθηκε θεωρούσε έναν τυχαίο κόμβο P, ο οποίος ήταν εσωτερικός του πλέγματος. Ομως, σε περίπτωση οριακού κόμβου πρέπει να συμπεριληφθεί ένας ακόμα όρος, το διάνυσμα της ροής που εξέρχεται προς το περιβάλλον από τον όγκο ελέγχου. Ετσι, η ολοκλήρωση των εξισώσεων 3.5 καταλήγει στη μορφή: U t V P + P Q K(P) ΦPQ + Φ Οριο χωρίου ροής = 0 (3.51) Το οριακό διάνυσμα ροής υπολογίζεται ανάλογα με το είδος του ορίου και στη συνέχεια θα παρουσιαστούν οι τρόποι υπολογισμού για οριακούς κόμβους τοιχωμάτων, ειδόδου-εξόδου, επιφάνειας συμμετρίας ή και περιοδικότητας Στερεά Τοιχώματα Στα στερεά τοιχώματα, για ατριβείς ροές, επιβάλλεται η συνθήκη μη-εισχώρησης ( u n = 0). Η επιβολή γίνεται με ασθενή διατύπωση, δηλαδή με εισαγωγή της συνθήκης στο διάνυσμα της ροής, το οποίο, κατά μήκος των στερεών τοιχωμάτων, λαμβάνει τη μορφή: 3-19

60 ϱ(u r n r ) Φόριο = ϱu(u r n r ) + pn x F r P nr P = ϱv(u r n r ) + pn y ϱw(u r n r ) + pn z (ϱe + p)(u r n r ) P = 0 pn x pn y pn z 0 P (3.52) με n = n 1 + n 2 + n 3 + n 4, όπου τα διανύσματα n 1, n 2, n 3 και n 4 αντιστοιχούν στα διανύσματα από το όριο του όγκου ελέγχου προς το τοίχωμα, όπως φαίνεται στο σχήμα 3.4. Σχήμα 3.4: Ογκος ελέγχου οριακού κόμβου Ορια εισόδου και εξόδου της ροής Εχει αποδειχθεί ότι το πρόσημο των ιδιοτιμών του μητρώου A καθορίζει την κατεύθυνση μεταφοράς της «πληροφορίας» μέσα στη ροή. Από τις ιδιοτιμές του μητρώου A, όπως έχουν υπολογιστεί στην σχέση 3.35, είναι θετικές οι λ 1, λ 2, λ 3 και λ 4 ενώ η λ 5 εξαρτάται από το αν η ροή είναι υποηχητική ή υπερηχητική. Για τις θετικές ιδιοτιμές, η αντίστοιχη «πληροφορία» μεταφέρεται μαζί με την ροή, ενώ όταν η ιδιοτιμή είναι αρνητική, η «πληροφορία» ταξιδεύει αντίθετα από την τοπική ταχύτητα της ροής. Ετσι, για το κλείσιμο των εξισώσεων ροής, απαιτούνται 4 μεγέθη στην είσοδο της ροής και 1 στην έξοδο σε υποηχητικές ροές, ενώ σε υπερηχητικές ροές απαιτούνται 3-20

61 5 μεγέθη στην είδοδο της ροής. Σε εφαρμογές εξωτερικής αεροδυναμικής, τα μεγέθη αυτά είναι η πυκνότητα (ϱ ) και το μέτρο ( u ) και οι γωνίες θ1 και θ 2 της επ άπειρον ταχύτητας, αλλά και ο αριθμός Mach της επ άπειρον ροής. Αντιθετα, εφαρμογές εσωτερικής αεροτομής δίνονται οι τιμές της ολικής πίεσης (p t ) και θερμοκρασίας (T t ) στην είσοδο της ροής, τις γωνίες θ 1 και θ 2 της ταχύτητας στην είσοδο της ροής και την τιμή της στατικής πίεσης στην έξοδο της ροής, για υποηχητική ροή, ή στην είσοδο, για υπερηχητική ροή. Συχνά, στην πράξη, αντί για την στατική πίεση, δίνεται ο αριθμός Mach, ισεντροπικός εξόδου σε υποηχητικές ροές και εισόδου σε υπερηχητικές, από τον οποίο και υπολογίζεται η τιμή της στατικής πίεσης. Το διάνυσμα ροής στους οριακού κόμβους εισόδου ή εξόδου υπολογίζεται σύμφωνα με το ανάντι σχήμα πρώτης τάξης των Steger-Warming [28], το οποίο για έναν οριακό κόμβο P γράφεται: Φ P out = A + P U P + A P U out (3.53) όπου με «out» συμβολίζεται ένας υποθετικός κόμβος, εξωτερικά του πεδίου ροής, στον οποίο και επιβάλλονται οι οριακές συνθήκες. Εξωτερική Αεροδυναμική Οπως έχει αναφερθεί νωρίτερα, σε εφαρμογές εξωτερικής αεροδυναμικής, δηλαδή σε εφαρμογές που η ροή γύρω από ένα αεροδυναμικό σώμα επηρεάζεται μόνο από την παρουσία του ιδίου, τα μεγέθη που συνήθως δίνονται στο επ άπειρο όριο για το κλείσιμο των εξισώσεων ροής είναι η πυκνότητα, το διάνυσμα της ταχύτητας και ο αριθμός Mach της επ άπειρον ροής ( ϱ, u, θ1, θ 2, M ). Επομένως : ϱ out = ϱ (ϱu) out = ϱ u cos θ1 cos θ 2 (ϱv) out = ϱ u sin θ1 (ϱw) out = ϱ u cos θ1 sin θ 2 M = p out ϱ u c = = (γ 1)T u γ(γ 1)T E out = p out + 1ϱ γ 1 2 f ar u 2 M = ( u ϱ ) u p out p out = ϱ 2 M Εσωτερική Αεροδυναμική Προηγουμένως έγινε αναφορά για μεταφορά «πληροφορίας» προς κατεύθυνση ανάλογα το πρόσημο της αντίστοιχης ιδιοτιμής. Ας θεωρηθεί, εδώ, ως «πληροφορία» 3-21

62 οι συντηρητικές μεταβλητές της ροής. Εχει αποδειχθεί όμως ότι αν γράψουμε τις εξισώσεις Euler συναρτήσει των πρωτευουσών μεταβλητών με ανάλογη διαδικασία προκύπτει ένα αντίστοιχο μητρώο A με ιδιοτιμές ίδιες με εκείνες που παρουσιάστηκαν νωρίτερα. Δηλαδή το πρόσημο των ιδιοτιμών μπορεί να δώσει τη κατεύθυνση που ακολουθούν οι πρωτεύουσες μεταβλητές της ροής στο εσωτερικό του πεδίου ροής. Στην περίπτωση υποηχητικής ροής χρειάζεται να ορισθούν τέσσερα μεγέθη στην είσοδο (p t, T t, θ 1, θ 2 ) και ένα στην έξοδο (M is ). Τα υπόλοιπα στοιχεία των θεωρητικών κόμβων θα προκύψουν από το εσωτερικό του πεδίου ροής. Δηλαδή: Είσοδος p out = p P T out = T t ( pout p t T t = T + 1 2γ ) γ 1 γ u out = u out cos θ1 cos θ 2 v out = u out sin θ1 w out = u out cos θ1 sinθ 2 u out 2 u out = 2γ (Tt T) Επομένως p out ϱ out = (γ 1)T out ) (ϱu) out = ϱ out u out (ϱv) out = ϱ out v out (ϱw) out = ϱ out w out E out = p out γ ϱ out u 2 out 3-22

63 Εξοδος ( p out = p t 1 + γ 1 ) γ γ 1 2 M2 is ϱ out = ϱ P (ϱu) out = (ϱu) P (ϱv) out = (ϱv) P (ϱw) out = (ϱw) P E out = p out γ ϱ ( P u 2 P + vp) 2 Αντίθετα σε υπερηχητικές ροές όπου και οι πέντε ιδιοτιμές είναι θετικές ουσιαστικά θα δοθούν όλα τα στοιχεία που απαιτούνται για τον υπολογισμό των συντηρητικών μεταβλητών στον ψευδο-κόμβο εισόδου, ενώ οι αντίστοιχες τιμές του ψευδο-κόμβου εξόδου ταυτίζονται με εκείνες του αντίστοιχου οριακού κόμβου εφόσον η πληροφορία μεταφέρεται εξ ολοκλήρου προς τη κατεύθυνση της ροής. Τα μεγέθη που δίνονται σε τέτοιου είδους εφαρμογές είναι όπως και πριν η ολική πίεση (p t ), η θερμοκρασία (T t ) και οι γωνίες θ 1 και θ 2. Αντίθετα ο αριθμός Mach αντιστοιχεί στην είσοδο. Είσοδος 3-23

64 ( p out = p t 1 + γ 1 ) γ γ 1 2 M2 ( ) γ 1 pout γ T out = T t p t u out = 2γ(Tt T out ) u out = u out cos θ1 cos θ 2 v out = u out sin θ1 w out = u out cos θ1 sin θ 2 ϱ out = p out (γ 1)T out (ϱu) out = ϱ out u out (ϱv) out = ϱ out v out (ϱw) out = ϱ out w out E out = p out γ ϱ out u 2 out Εξοδος ϱ out = ϱ P (ϱu) out = (ϱu) P (ϱv) out = (ϱv) P (ϱw) out = (ϱw) P E out = p P γ ϱ P(u r u r ) P Αξονική συμμετρία Αρκετά συχνά συναντώνται χωρία ροής συμμετρικά ως προς κάποιο επίπεδο. Στις περιπτώσεις αυτές για προφανείς λόγους συμφέρει να χωρίζεται το χωρίο στα δύο συμμετρικά όμοια κομμάτια του και να γίνεται αριθμητική επίλυση ( ) της ροής σε Φ ένα από αυτά. Ο υπολογισμός λοιπόν του διανύσματος ροής που εξέρχεται από όρια συμμετρίας είναι ίδιος με εκείνον στα στερεά τοιχώματα. Αυτό συμβαίνει επειδή η ύπαρξη της συμμετρίας υπαγορεύει το διάνυσμα της ταχύτητας να είναι εφαπτομενικό στο όριο, δηλαδή να ισχύει u n = 0, κάτι το οποίο θυμίζει έντονα τη συνθήκη μη εισχώρησης για τα ατριβή ρευστά κατά μήκος των στερεών τοιχωμάτων. 3-24

65 3.4.4 Περιοδικά όρια Υπολογιστικά χωρία όπως λ.χ. οι πτερυγώσεις στροβιλομηχανών είναι χαρακτηριστικά παραδείγματα χωρίων με περιοδικά όρια. Στα χωρία αυτά οι υπολογιστικές κυψέλες του ενός περιοδικού ορίου συμπληρώνουν τις κυψέλες των αντίστοιχων κόμβων του άλλου περιοδικού ορίου. Οπότε στις περιπτώσεις αυτές δεν είναι α- παραίτητος ο υπολογισμός των εξερχόμενων διανυσμάτων ροής από τα περιοδικά όρια του χωρίου, καθώς στα διανύσματα ροής που έχουν υπολογιστεί για μία κυψέλη προστίθενται τα διανύσματα που έχουν υπολογιστεί για την κυψέλη του αντίστοιχου κόμβου του άλλου περιοδικού ορίου. Τα παραπάνω γίνονται εύκολα κατανοητά από το ακόλουθο σχήμα όπου παρίσταται μία επιφάνεια από πτερύγιο σε πτερύγιο. Το πάνω και κάτω όριο του χωρίου (εκτός των τοιχωμάτων των αεροτομών) αποτελούν περιοδικά όρια εφόσον το εν λόγω χωρίο επαναλαμβάνεται και προς τα πάνω και προς τα κάτω ώστε να συμπληρωθεί μία επιφάνεια S 1 μίας στροβιλομηχανής. Από το σχήμα φαίνεται ότι ουσιαστικά αυτό που «λείπει» από την κυψέλη 1 είναι η κυψέλη 2 και αντιστρόφως. Επιπλέον αφού το χωρίο επαναλαμβάνεται τα χαρακτηριστικά της ροής πάνω στο κάτω όριο του χωρίου ροής πρέπει να είναι τα ίδια με εκείνα εξωτερικά του χωρίου, πάνω από το πάνω όριο. Δηλαδή, η ένωση των δύο κυψελών δομεί την κυψέλη που θα σχηματίζονταν στους αντίστοιχους κόμβους αν ως υπολογιστικό χωρίο χρησιμοποιούσαμε ολόκληρη την αλληλουχία αεροτομών πτερυγίων κατά την κατεύθυνση του βήματος (αντί μόνο μίας πτερύγωσης). Για τον λόγο αυτό, το εξερχόμενο από το όριο του χωρίου διάνυσμα ροής στη περιοχή της κυψέλης 1 ισούται με το άθροισμα των υπολογισμένων διανυσμάτων ροής γύρω από την κυψέλη 2, και αντιστρόφως. Τα παραπάνω ισχύουν σε εφαρμογές γραμμικών πτερυγώσεων. Σε εφαρμογές περιφερειακών πτερυγώσεων επαναλαμβάνονται τα παραπάνω, με μόνη διαφορά ότι η περιοδικότητα εμφανίζεται στις πολικές συντεταγμένες και, ως εκ τούτου, χρειάζεται περιστροφή των χωρίων πριν την άθροισή τους, κατά τον άξονα της ροής. Σχήμα 3.5: Περιοδικό χωρίο ροής. 3-25

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Bias (απόκλιση) και variance (διακύμανση) Ελεύθεροι Παράμετροι Ελεύθεροι Παράμετροι Διαίρεση dataset Μέθοδος holdout Cross Validation Bootstrap Bias (απόκλιση) και variance

Διαβάστε περισσότερα

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0, Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Στατιστικής Εισαγωγή στην Επιχειρησιακή Ερευνα Εαρινό Εξάμηνο 2015 Μ. Ζαζάνης Πρόβλημα 1. Να διατυπώσετε το παρακάτω παίγνιο μηδενικού αθροίσματος ως πρόβλημα γραμμικού

Διαβάστε περισσότερα

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή. ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Ιστόγραμμα Παράθυρα Parzen Εξομαλυμένη Kernel Ασκήσεις 1 Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Κατά τη

Διαβάστε περισσότερα

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή. ΣΤΟ ΙΑΤΡΕΙΟ Ο ιατρός αφού διαπιστώσει εάν το πρόσωπο που προσέρχεται για εξέταση είναι το ίδιο με αυτό που εικονίζεται στο βιβλιάριο υγείας και ελέγξει ότι είναι ασφαλιστικά ενήμερο (όπως ακριβώς γίνεται

Διαβάστε περισσότερα

{ i f i == 0 and p > 0

{ i f i == 0 and p > 0 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Σχεδίαση και Ανάλυση Αλγορίθμων Διδάσκων: Ε. Μαρκάκης, Φθινοπωρινό εξάμηνο 014-015 Λύσεις 1ης Σειράς Ασκήσεων

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Εκτίμηση Πυκνότητας με k NN k NN vs Bayes classifier k NN vs Bayes classifier Ο κανόνας ταξινόμησης του πλησιέστερου γείτονα (k NN) lazy αλγόριθμοι O k NN ως χαλαρός

Διαβάστε περισσότερα

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Οι γέφυρες του ποταμού... Pregel (Konigsberg) Οι γέφυρες του ποταμού... Pregel (Konigsberg) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα

Διαβάστε περισσότερα

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια. ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ Ταξινόμηη των μοντέλων διαποράς ατμοφαιρικών ρύπων βαιμένη ε μαθηματικά κριτήρια. Μοντέλο Ελεριανά μοντέλα (Elerian) Λαγκρατζιανά μοντέλα (Lagrangian) Επιπρόθετος διαχωριμός Μοντέλα

Διαβάστε περισσότερα

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Ψηφιακή Εικόνα. Σημερινό μάθημα! Ψηφιακή Εικόνα Σημερινό μάθημα! Ψηφιακή Εικόνα Αναλογική εικόνα Ψηφιοποίηση (digitalization) Δειγματοληψία Κβαντισμός Δυαδικές δ έ (Binary) εικόνες Ψηφιακή εικόνα & οθόνη Η/Υ 1 Ψηφιακή Εικόνα Μια ακίνητη

Διαβάστε περισσότερα

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ A Ε B Ζ Η Γ K Θ Δ Ι Ορισμός Ένα (μη κατευθυνόμενο) γράφημα (non directed graph) Γ, είναι μία δυάδα από σύνολα Ε και V και συμβολίζεται με Γ=(Ε,V). Το σύνολο

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΡΧΕΙΑ Ο πιο γνωστός τρόπος οργάνωσης δεδομένων με τη χρήση ηλεκτρονικών υπολογιστών είναι σε αρχεία. Ένα αρχείο μπορούμε να το χαρακτηρίσουμε σαν ένα σύνολο που αποτελείται από οργανωμένα

Διαβάστε περισσότερα

Επίλυση ειδικών μορφών ΣΔΕ

Επίλυση ειδικών μορφών ΣΔΕ 15 Επίλυση ειδικών μορφών ΣΔΕ Σε αυτό το κεφάλαιο θα δούμε κάποιες ειδικές μορφές ΣΔΕ για τις οποίες υπάρχει μέθοδος επίλυσης. Περισσότερες μπορεί να δει κανείς στο Kloeden and Plaen (199), 4.-4.4. Θα

Διαβάστε περισσότερα

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983 20 Φεβρουαρίου 2010 ΑΣΕΠ 2000 1. Η δεξαμενή βενζίνης ενός πρατηρίου υγρών καυσίμων είναι γεμάτη κατά τα 8/9. Κατά τη διάρκεια μιας εβδομάδας το πρατήριο διέθεσε τα 3/4 της βενζίνης αυτής και έμειναν 4000

Διαβάστε περισσότερα

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος ιαφορικές Εξισώσεις Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Ατελείς ιδιοτιμές Εκθετικά πινάκων Μανόλης Βάβαλης Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας 9 Απριλίου

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ Την ευθύνη του εκπαιδευτικού υλικού έχει ο επιστημονικός συνεργάτης των Πανεπιστημιακών Φροντιστηρίων «ΚOΛΛΙΝΤΖΑ», οικονομολόγος συγγραφέας θεμάτων ΑΣΕΠ, Παναγιώτης Βεργούρος.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1α ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ Οι επιστήμονες ταξινομούν τους οργανισμούς σε ομάδες ανάλογα με τα κοινά τους χαρακτηριστικά. Τα πρώτα συστήματα ταξινόμησης βασιζόταν αποκλειστικά στα μορφολογικά

Διαβάστε περισσότερα

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα Σελίδα 1 ΣΧΟΛΙΚΟ ΕΤΟΣ 2014 2015 ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ Ονοματεπώνυμο Τμήμα ΘΕΜΑ Α Οδηγία: Να γράψετε στην κόλλα σας τον αριθμό καθεμιάς από τις παρακάτω ερωτήσεις

Διαβάστε περισσότερα

Μονάδες 5 1.2.α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

Μονάδες 5 1.2.α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο. ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ): ΧΗΜΕΙΑ - ΒΙΟΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ

Διαβάστε περισσότερα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΟΜΑΔΑ Α Για τις προτάσεις Α1 μέχρι και Α6 να

Διαβάστε περισσότερα

www.cslab.ece.ntua.gr

www.cslab.ece.ntua.gr Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Συγκριτική μελέτη μεθόδων αποθήκευσης αραιών πινάκων σε μπλοκ για την βελτιστοποίηση

Διαβάστε περισσότερα

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ. HY 280 «ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ» θεμελικές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Γεώργιος Φρ. Γεωργκόπουλος μέρος Α Εισγωγή, κι η σική θεωρί των πεπερσμένων

Διαβάστε περισσότερα

Συναρτήσεις. Σημερινό μάθημα

Συναρτήσεις. Σημερινό μάθημα Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ

ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ ΜΑΘΗΜΑ: ΠΟΛΙΤΙΚΗ ΟΙΚΟΝΟΜΙΑ-ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ Σύνταξη: Παπαδόπουλος Θεοχάρης, Οικονομολόγος, MSc, PhD Candidate Κατηγορίες οφέλους και κόστους που προέρχονται από τις δημόσιες δαπάνες Για την αξιολόγηση

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο

Διαβάστε περισσότερα

ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ

ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ ΑΝΤΙΟΠΗ ΓΙΓΑΝΤΙ ΟΥ Τοµεάρχης Λειτουργίας Κέντρων Ελέγχου Συστηµάτων Μεταφοράς ιεύθυνσης ιαχείρισης Νησιών ΗΛΕΚΤΡΙΚΟ ΣΥΣΤΗΜΑ ΚΡΗΤΗΣ 2009 Εγκατεστηµένη Ισχύς (Ατµοµονάδες, Μονάδες

Διαβάστε περισσότερα

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α 1η σειρά ασκήσεων Ονοματεπώνυμο: Αριθμός μητρώου: Ημερομηνία παράδοσης: Μέχρι την Τρίτη 2 Απριλίου 2019 Σημειώστε τις ασκήσεις για τις οποίες έχετε παραδώσει λύση: 1

Διαβάστε περισσότερα

17 Μαρτίου 2013, Βόλος

17 Μαρτίου 2013, Βόλος Συνήθεις ιαφορικές Εξισώσεις 1ης Τάξης Σ Ε 1ης τάξης, Πεδία κατευθύνσεων, Υπαρξη και μοναδικότητα, ιαχωρίσιμες εξισώσεις, Ολοκληρωτικοί παράγοντες, Αντικαταστάσεις, Αυτόνομες εξισώσεις Μανόλης Βάβαλης

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Αναγνώριση Προτύπων. Σημερινό Μάθημα Αναγνώριση Προτύπων Σημερινό Μάθημα Η κατάρα της διαστατικότητας Μείωση διαστάσεων εξαγωγή χαρακτηριστικών επιλογή χαρακτηριστικών Αναπαράσταση έναντι Κατηγοριοποίησης Ανάλυση Κυρίων Συνιστωσών PCA Γραμμική

Διαβάστε περισσότερα

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις Αναγνώριση Προτύπων Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις 1 Λόγος Πιθανοφάνειας Ας υποθέσουμε ότι θέλουμε να ταξινομήσουμε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ31: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 017-018 Φροντιστήριο 5 1. Δικαιολογήστε όλες τις απαντήσεις σας. i. Δώστε τις 3 βασικές ιδιότητες ενός AVL δένδρου.

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming)

Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming) Σελίδα 1 Πανεπιστήμιο Κύπρου Τμήμα Μηχανικών Μηχανολογίας και Κατασκευαστικής ΜΜΚ 452: Μηχανικές Ιδιότητες και Κατεργασία Πολυμερών Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming) Σελίδα 2 Εισαγωγή: Η

Διαβάστε περισσότερα

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραμμα Σπουδών: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ και ΟΡΓΑΝΙΣΜΩΝ Θεματική Ενότητα: ΕΟ-13 Ποσοτικές Μέθοδοι Ακαδημαϊκό Έτος: 2012-13 Πρώτη Γραπτή Εργασία Εισαγωγή στους υπολογιστές Μαθηματικά

Διαβάστε περισσότερα

Επίλυση δικτύων διανομής

Επίλυση δικτύων διανομής ΑστικάΥδραυλικάΈργα Υδρεύσεις Επίλυση δικτύων διανομής Δημήτρης Κουτσογιάννης & Ανδρέας Ευστρατιάδης Τομέας Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Διατύπωση του προβλήματος Δεδομένου ενός δικτύου αγωγών

Διαβάστε περισσότερα

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» HY 118α «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ» ΣΚΗΣΕΙΣ ΠΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΙΣΤΩΝ εώργιος Φρ. εωργακόπουλος ΜΕΡΟΣ (1) ασικά στοιχεία της θεωρίας συνόλων. Π. ΚΡΗΤΗΣ ΤΜ. ΕΠ. ΥΠΟΛΟΙΣΤΩΝ «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ». Φ. εωργακόπουλος

Διαβάστε περισσότερα

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της Προτεινόμενα θέματα στο μάθημα Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς και δίπλα σε κάθε αριθμό την ένδειξη Σωστό, αν

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1ο ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΦΥΣΙΚΗ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6) Στις ερωτήσεις 1-4 να γράψετε

Διαβάστε περισσότερα

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο. 2 Μέτρα 2.1 Μέτρα σε μετρήσιμο χώρο Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο. Ορισμός 2.1. Μέτρο στον (X, A) λέμε κάθε συνάρτηση µ : A [0, ] που ικανοποιεί τις

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο επιτελείο

Διαβάστε περισσότερα

Eισηγητής: Μουσουλή Μαρία

Eισηγητής: Μουσουλή Μαρία Eισηγητής: Μουσουλή Μαρία Τεχνική φλοπ Φορά Σκοπός της φοράς είναι να αναπτυχθεί μια ιδανική για τον κάθε αθλητή ταχύτητα και ταυτόχρονα να προετοιμάσει το πάτημα. Το είδος της φοράς του Fosbury ήτα, μια

Διαβάστε περισσότερα

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία 1 Εισαγωγικά 1.1 Η σ-αλγεβρα ως πληροφορία Στη θεωρία μέτρου, όταν δουλεύει κανείς σε έναν χώρο X, συνήθως έχει διαλέξει μια αρκετά μεγάλη σ-άλγεβρα στον X έτσι ώστε όλα τα σύνολα που εμφανίζονται να ανήκουν

Διαβάστε περισσότερα

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν 1 1. Αποδοχή κληρονομίας Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν μπορεί να ασκηθεί από τους δανειστές του κληρονόμου, τον εκτελεστή της διαθήκης, τον κηδεμόνα ή εκκαθαριστή

Διαβάστε περισσότερα

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή: Ας πούμε και κάτι για τις δύσκολες μέρες που έρχονται Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein 1879-1955 Πηγή: http://www.cognosco.gr/gnwmika/ 1 ΚΥΚΛΙΚΟΣ

Διαβάστε περισσότερα

Αλγόριθμοι & Βελτιστοποίηση

Αλγόριθμοι & Βελτιστοποίηση Αλγόριθμοι & Βελτιστοποίηση ΠΜΣ/ΕΤΥ: Μεταπτυχιακό Μάθημα 8η Ενότητα: Γραμμικός Προγραμματισμός ως Υπορουτίνα για Επίλυση Προβλημάτων Χρήστος Ζαρολιάγκης (zaro@ceid.upatras.gr) Σπύρος Κοντογιάννης (kontog@cs.uoi.gr)

Διαβάστε περισσότερα

Σχέσεις και ιδιότητές τους

Σχέσεις και ιδιότητές τους Σχέσεις και ιδιότητές τους Διμελής (binary) σχέση Σ από σύνολο Χ σε σύνολο Υ είναι ένα υποσύνολο του καρτεσιανού γινομένου Χ Υ. Αν (χ,ψ) Σ, λέμε ότι το χ σχετίζεται με το ψ και σημειώνουμε χσψ. Στην περίπτωση

Διαβάστε περισσότερα

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές Σ Υ Π Τ Μ Α 8 Ιουνίου 2010 Άσκηση 1 Μια εταιρία τηλεφωνίας προσπαθεί να βρει πού θα τοποθετήσει τις συνιστώσες τηλεφωνικού καταλόγου που θα εξυπηρετούν τους συνδρομητές της. Η εταιρία εξυπηρετεί κατά βάση

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο επιτελείο

Διαβάστε περισσότερα

Συγκέντρωση Κίνησης. 6.1. Εισαγωγή. 6.2. Στατική Συγκέντρωση Κίνησης

Συγκέντρωση Κίνησης. 6.1. Εισαγωγή. 6.2. Στατική Συγκέντρωση Κίνησης Συγκέντρωση Κίνησης 6.1. Εισαγωγή Σε ένα οπτικό WDM δίκτυο, οι κόμβοι κορμού επικοινωνούν μεταξύ τους και ανταλλάσουν πληροφορία μέσω των lightpaths. Ένα WDM δίκτυο κορμού είναι υπεύθυνο για την εγκατάσταση

Διαβάστε περισσότερα

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία ΘΕΜΑ: ποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία Σύνταξη: Μπαντούλας Κων/νος, Οικονομολόγος, Ms Χρηματοοικονομικών 1 Η πρώτη θεωρία σχετικά με τον αυτόματο

Διαβάστε περισσότερα

Μητροπολιτικά Οπτικά Δίκτυα. 11.1. Εισαγωγή

Μητροπολιτικά Οπτικά Δίκτυα. 11.1. Εισαγωγή Μητροπολιτικά Οπτικά Δίκτυα 11.1. Εισαγωγή Τα τηλεπικοινωνιακά δίκτυα είναι διαιρεμένα σε μια ιεραρχία τριών επιπέδων: Στα δίκτυα πρόσβασης, τα μητροπολιτικά δίκτυα και τα δίκτυα κορμού. Τα δίκτυα κορμού

Διαβάστε περισσότερα

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ

Μεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ Μεταγλωττιστές ΙΙ Καταμερισμός καταχωρητών Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Γενικά για τον καταμερισμό καταχωρητών Καταμερισμός καταχωρητών (register allocation): βελτιστοποίηση μεταγλωττιστή

Διαβάστε περισσότερα

ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό.

ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό. 1 ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό. Σύνταξη: Παπαδόπουλος Θεοχάρης, Οικονομολόγος, Οικονομολόγος, MSc, PhD Candidate, εισηγητής Φροντιστηρίων

Διαβάστε περισσότερα

Εφαρμογές στην κίνηση Brown

Εφαρμογές στην κίνηση Brown 13 Εφαρμογές στην κίνηση Brown Σε αυτό το κεφάλαιο θέλουμε να κάνουμε για την πολυδιάστατη κίνηση Brown κάτι ανάλογο με αυτό που κάναμε στην Παράγραφο 7.2 για τη μονοδιάστατη κίνηση Brown. Δηλαδή να μελετήσουμε

Διαβάστε περισσότερα

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 08 Ιουνίου 2011 Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου

Διαβάστε περισσότερα

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων. A A N A B P Y T A Άρθρο στους Μιγαδικούς Αριθμούς 9 5 0 Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων. Δρ. Νίκος Σωτηρόπουλος, Μαθηματικός Εισαγωγή Το άρθρο αυτό γράφεται με

Διαβάστε περισσότερα

Ανελίξεις σε συνεχή χρόνο

Ανελίξεις σε συνεχή χρόνο 4 Ανελίξεις σε συνεχή χρόνο Σε αυτό το κεφάλαιο είναι συγκεντρωμένοι ορισμοί και αποτελέσματα από τη θεωρία των στοχαστικών ανελιξεων συνεχούς χρόνου. Με εξαίρεση την Παράγραφο 4.1, η οποία είναι εντελώς

Διαβάστε περισσότερα

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών 1 Ο Ισχυρός Νόμος των Μεγάλων Αριθμών Στο κεφάλαιο αυτό παρουσιάζουμε ένα από τα σημαντικότερα αποτελέσματα της Θεωρίας Πιθανοτήτων, τον ισχυρό νόμο των μεγάλων αριθμών. Η διατύπωση που θα αποδείξουμε

Διαβάστε περισσότερα

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Α. Να µεταφέρετε στο τετράδιό σας και να συµπληρώσετε τον παρακάτω πίνακα αλήθειας δύο προτάσεων

Διαβάστε περισσότερα

Εργαστήριο Υπολογιστικών Συστημάτων

Εργαστήριο Υπολογιστικών Συστημάτων Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Μελέτη και υλοποίηση του αριθμητικού υπολογιστικού πυρήνα του Πολλαπλασιασμού

Διαβάστε περισσότερα

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0) 1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των

Διαβάστε περισσότερα

Eισηγητής: Μουσουλή Μαρία

Eισηγητής: Μουσουλή Μαρία Eισηγητής: Μουσουλή Μαρία Κλασικός Αθλητισμός Δρόμοι : Μεσαίες και μεγάλες αποστάσεις Ταχύτητες Σκυταλοδρομίες Δρόμοι με εμπόδια Δρόμοι Μεσαίων και Μεγάλων αποστάσεων Στην αρχαία εποχή ο δρόμος που είχε

Διαβάστε περισσότερα

2. Κατάθεσε κάποιος στην Εθνική Τράπεζα 4800 με επιτόκιο 3%. Μετά από πόσο χρόνο θα πάρει τόκο 60 ; α) 90 ημέρες β) 1,5 έτη γ) 5 μήνες δ) 24 μήνες

2. Κατάθεσε κάποιος στην Εθνική Τράπεζα 4800 με επιτόκιο 3%. Μετά από πόσο χρόνο θα πάρει τόκο 60 ; α) 90 ημέρες β) 1,5 έτη γ) 5 μήνες δ) 24 μήνες 20 Φεβρουαρίου 2010 1. Ένας έμπορος αγόρασε 720 κιλά κρασί προς 2 το κιλό. Πρόσθεσε νερό, το πούλησε προς 2,5 το κιλό και κέρδισε 500. Το νερό που πρόσθεσε ήταν σε κιλά: α) 88 β) 56 γ) 60 δ) 65 2. Κατάθεσε

Διαβάστε περισσότερα

Προτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους.

Προτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους. Προτεινόμενα θέματα στο μάθημα Αρχές οργάνωσης και διοίκησης επιχειρήσεων ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους Στις παρακάτω προτάσεις να γράψετε δίπλα στον αριθμό της καθεμιάς τη λέξη Σωστό αν κρίνετε ότι

Διαβάστε περισσότερα

5.1 Μετρήσιμες συναρτήσεις

5.1 Μετρήσιμες συναρτήσεις 5 Μετρήσιμες συναρτήσεις 5.1 Μετρήσιμες συναρτήσεις Ορισμός 5.1. Εστω (Ω, F ), (E, E) μετρήσιμοι χώροι. Μια συνάρτηση f : Ω E λέγεται F /Eμετρήσιμη αν f 1 (A) F για κάθε A E. (5.1) Συμβολίζουμε το σύνολο

Διαβάστε περισσότερα

ΔΙΚΑΙΩΜΑΤΑ ΠΡΟΣΟΡΜΙΣΗΣ, ΠΑΡΑΒΟΛΗΣ, ΠΡΥΜΝΟΔΕΤΗΣΗΣ ΚΑΙ ΕΛΛΙΜΕΝΙΣΜΟΥ ΣΚΑΦΩΝ ΣΕ ΘΑΛΑΣΣΙΕΣ ΠΕΡΙΟΧΕΣ. (ΛΙΜΑΝΙΑ κ.λπ.) ΤΟΠΙΚΗΣ ΑΡΜΟΔΙΟΤΗΤΑΣ ΛΙΜΕΝΙΚΩΝ

ΔΙΚΑΙΩΜΑΤΑ ΠΡΟΣΟΡΜΙΣΗΣ, ΠΑΡΑΒΟΛΗΣ, ΠΡΥΜΝΟΔΕΤΗΣΗΣ ΚΑΙ ΕΛΛΙΜΕΝΙΣΜΟΥ ΣΚΑΦΩΝ ΣΕ ΘΑΛΑΣΣΙΕΣ ΠΕΡΙΟΧΕΣ. (ΛΙΜΑΝΙΑ κ.λπ.) ΤΟΠΙΚΗΣ ΑΡΜΟΔΙΟΤΗΤΑΣ ΛΙΜΕΝΙΚΩΝ ΔΙΚΑΙΩΜΑΤΑ ΠΡΟΣΟΡΜΙΣΗΣ, ΠΑΡΑΒΟΛΗΣ, ΠΡΥΜΝΟΔΕΤΗΣΗΣ ΚΑΙ ΕΛΛΙΜΕΝΙΣΜΟΥ ΣΚΑΦΩΝ ΣΕ ΘΑΛΑΣΣΙΕΣ ΠΕΡΙΟΧΕΣ (ΛΙΜΑΝΙΑ κ.λπ.) ΤΟΠΙΚΗΣ ΑΡΜΟΔΙΟΤΗΤΑΣ ΛΙΜΕΝΙΚΩΝ ΤΑΜΕΙΩΝ ΚΑΙ ΔΗΜΟΤΙΚΩΝ ΛΙΜΕΝΙΚΩΝ ΤΑΜΕΙΩΝ Επιμέλεια Άγγελου Αργυρακόπουλου

Διαβάστε περισσότερα

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υ- πουργείου Οικονομικών και στοχεύοντας στην όσο το δυνατό πληρέστερη

Διαβάστε περισσότερα

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ Μάθημα: Ενόργανη Γυμναστική Χρήσιμα θεωρία στο κεφάλαιο της ενόργανης γυμναστικής για το γνωστικό αντικείμενο ΠΕ11 της Φυσικής Αγωγής από τα Πανεπιστημιακά Φροντιστήρια Κολλίντζα.

Διαβάστε περισσότερα

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης Η εργασιακή διαδικασία και τα στοιχεία της. Η κοινωνική επικύρωση των ιδιωτικών

Διαβάστε περισσότερα

Η εξίσωση Black-Scholes

Η εξίσωση Black-Scholes 8 Η εξίσωση Black-Scholes 8. Μια απλή αγορά Θεωρούμε ότι έχουμε μια αγορά που έχει μόνο δύο προϊόντα. Το ένα είναι η δυνατότητα κατάθεσης σε μια τράπεζα (ισοδύναμα, αγορά ομολόγων της τράπεζας) και το

Διαβάστε περισσότερα

2. Δίκτυα Πολυπλεξίας Μήκους Κύματος (WDM Δίκτυα)

2. Δίκτυα Πολυπλεξίας Μήκους Κύματος (WDM Δίκτυα) 2. Δίκτυα Πολυπλεξίας Μήκους Κύματος (WDM Δίκτυα) Η πολυπλεξία μήκους κύματος (WDM πολυπλεξία) παρέχει συμβατότητα μεταξύ του εύρους ζώνης του οπτικού μέσου οπτική ίνα και του εύρους ζώνης του τερματικού

Διαβάστε περισσότερα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6)

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6) ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6) ΘΕΜΑ 1ο Στις ερωτήσεις 1.1 έως 1.3, να γράψετε στο τετράδιό

Διαβάστε περισσότερα

Το υπόδειγμα IS-LM: Εισαγωγικά

Το υπόδειγμα IS-LM: Εισαγωγικά 1/35 Το υπόδειγμα IS-LM: Εισαγωγικά Νίκος Γιαννακόπουλος Επίκουρος Καθηγητής Τμήμα Οικονομικών Επιστημών Πανεπιστήμιο Πατρών Ακαδημαϊκό Ετος 2014-2015 Εαρινό Εξάμηνο Τι γνωρίζουμε; 2/35 Αγορά αγαθών και

Διαβάστε περισσότερα

- 1 - Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή αγαθών, ορισμένες φορές, είναι δύσκολο να

- 1 - Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή αγαθών, ορισμένες φορές, είναι δύσκολο να - 1 - Ο παράξενος πραματευτής Ανθολόγιο Ε & Στ τάξης: 277-279 Οικονομικές έννοιες Ανταλλαγή Αντιπραγματισμός Εμπόριο Ερωτήσεις Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή

Διαβάστε περισσότερα

«Εξατομικεύοντας την επιλογή των πόρων των ψηφιακών βιβλιοθηκών για την υποστήριξη της σκόπιμης μάθησης» Άννα Μαρία Ολένογλου

«Εξατομικεύοντας την επιλογή των πόρων των ψηφιακών βιβλιοθηκών για την υποστήριξη της σκόπιμης μάθησης» Άννα Μαρία Ολένογλου ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΥΠΗΡΕΣΙΕΣ ΠΛΗΡΟΦΟΡΗΣΗΣ ΣΕ ΨΗΦΙΑΚΌ ΠΕΡΙΒΑΛΛΟΝ Εργασία στο μάθημα «Ψηφιακές Βιβλιοθήκες» Παρουσίαση του άρθρου (ECDL, 2008, LNCS,

Διαβάστε περισσότερα

Αναλυτικές ιδιότητες

Αναλυτικές ιδιότητες 8 Αναλυτικές ιδιότητες 8. Βαθμός συνέχειας* Ξέρουμε ότι η κίνηση Brown είναι συνεχής και θα δείξουμε αργότερα ότι είναι πουθενά διαφορίσιμη. Πόσο ομαλή είναι λοιπόν; Μια ασθενέστερη μορφή ομαλότητας είναι

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων Γιάννης Λιαπέρδος [gliaperd@teikal.gr] Μάρτιος 2012 1 Ηλεκτρονικά Ελεγχόμενοι ιακόπτες Για την υλοποίηση των λογικών κυκλωμάτων χρησιμοποιούνται ηλεκτρονικά

Διαβάστε περισσότερα

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα 17 Ευρωπαϊκά παράγωγα 17.1 Ευρωπαϊκά δικαιώματα Ορισμός 17.1. 1) Ευρωπαϊκό δικαίωμα αγοράς σε μία μετοχή είναι ένα συμβόλαιο που δίνει στον κάτοχό του το δικαίωμα να αγοράσει μία μετοχή από τον εκδότη

Διαβάστε περισσότερα

CSE.UOI : Μεταπτυχιακό Μάθημα

CSE.UOI : Μεταπτυχιακό Μάθημα Θέματα Αλγορίθμων Αλγόριθμοι και Εφαρμογές στον Πραγματικό Κόσμο CSE.UOI : Μεταπτυχιακό Μάθημα 10η Ενότητα: Χρονικά Εξελισσόμενες ικτυακές Ροές Σπύρος Κοντογιάννης kntg@cse.ui.gr Τμήμα Μηχανικών Η/Υ &

Διαβάστε περισσότερα

τους στην Κρυπτογραφία και τα

τους στην Κρυπτογραφία και τα Οι Ομάδες των Πλεξίδων και Εφαρμογές τους στην Κρυπτογραφία και τα Πολυμερή Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών ΕΜΠ Επιβλέπουσα Καθηγήτρια: Λαμπροπούλου Σοφία Ιούλιος, 2013 Περιεχόμενα

Διαβάστε περισσότερα

Α) Ανάλογα με τη φύση των κονδυλίων που περιλαμβάνουν οι προϋπολογισμοί διακρίνονται σε:

Α) Ανάλογα με τη φύση των κονδυλίων που περιλαμβάνουν οι προϋπολογισμοί διακρίνονται σε: Ο διαγωνισμός της Εθνικής Σχολής Δημόσιας Διοίκησης προϋποθέτει, ως γνωστόν, συνδυασμό συνδυαστικής γνώσης της εξεταστέας ύλης και θεμάτων πολιτικής και οικονομικής επικαιρότητας. Tα Πανεπιστημιακά Φροντιστήρια

Διαβάστε περισσότερα

Martingales. 3.1 Ορισμός και παραδείγματα

Martingales. 3.1 Ορισμός και παραδείγματα 3 Martingales 3.1 Ορισμός και παραδείγματα Εστω χώρος πιθανότητας (Ω, F, P). Διήθηση σε αυτό τον χώρο λέμε μια αύξουσα ακολουθία (F n ) n 0 σ-αλγεβρών, η καθεμία από τις οποίες είναι υποσύνολο της F. Δηλαδή,

Διαβάστε περισσότερα

Επιχειρησιακή Ερευνα Ι

Επιχειρησιακή Ερευνα Ι Επιχειρησιακή Ερευνα Ι Μ. Ζαζάνης Κεφάλαιο 1 Τετραγωνικές μορφές στον R n και το ϑεώρημα του Taylor Ορισμός 1. Εστω a 11 a 1n A =.. a n1 a nn συμμετρικός πίνακας n n με στοιχεία στους πραγματικούς αριθμούς.

Διαβάστε περισσότερα

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος Γραμμικές Συνήθεις ιαφορικές Εξισώσεις Ανώτερης Τάξης Γραμμικές Σ Ε 2ης τάξης Σ Ε 2ης τάξης με σταθερούς συντελεστές Μιγαδικές ρίζες Γραμμικές Σ Ε υψηλότερης τάξης Γραμμική Ανεξαρτησία Μανόλης Βάβαλης

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΚΗΣ ΕΝΤΡΟΠΙΑΣ ΣΤΗΝ ΠΥΡΗΝΙΚΗ ΦΥΣΙΚΗ ΚΑΙ ΤΗ ΣΚΕ ΑΣΗ Ι ΑΚΤΟΡΙΚΗ ΙΑΤΡΙΒΗ

ΕΦΑΡΜΟΓΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΚΗΣ ΕΝΤΡΟΠΙΑΣ ΣΤΗΝ ΠΥΡΗΝΙΚΗ ΦΥΣΙΚΗ ΚΑΙ ΤΗ ΣΚΕ ΑΣΗ Ι ΑΚΤΟΡΙΚΗ ΙΑΤΡΙΒΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΠΥΡΗΝΙΚΗΣ ΦΥΣΙΚΗΣ ΚΑΙ ΦΥΣΙΚΗΣ ΣΤΟΙΧΕΙΩ ΩΝ ΣΩΜΑΤΙ ΙΩΝ ΒΑΣΙΛΕΙΟΣ Π. ΨΩΝΗΣ ΕΦΑΡΜΟΓΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΚΗΣ ΕΝΤΡΟΠΙΑΣ ΣΤΗΝ ΠΥΡΗΝΙΚΗ ΦΥΣΙΚΗ ΚΑΙ ΤΗ ΣΚΕ

Διαβάστε περισσότερα

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading

Κληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading Κληρονομικότητα Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ

Διαβάστε περισσότερα

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 14 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ: ΦΥΣΙΚΗ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 14 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ: ΦΥΣΙΚΗ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΑΡΧΗ ΜΗΝΥΜΑΤΟΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο ΤΕΤΑΡΤΗ 14 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ: ΦΥΣΙΚΗ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) Στις ερωτήσεις 1 5 να γράψετε στο τετράδιό σας

Διαβάστε περισσότερα

Ολοκληρωμένη Χωρική Ανάπτυξη. Ειδική Υπηρεσία Στρατηγικής, Σχεδιασμού Και Αξιολόγησης (ΕΥΣΣΑ) Μονάδα Α Στρατηγικής και Παρακολούθησης Πολιτικών

Ολοκληρωμένη Χωρική Ανάπτυξη. Ειδική Υπηρεσία Στρατηγικής, Σχεδιασμού Και Αξιολόγησης (ΕΥΣΣΑ) Μονάδα Α Στρατηγικής και Παρακολούθησης Πολιτικών Ολοκληρωμένη Χωρική Ανάπτυξη Ειδική Υπηρεσία Στρατηγικής, Σχεδιασμού Και Αξιολόγησης (ΕΥΣΣΑ) Μονάδα Α Στρατηγικής και Παρακολούθησης Πολιτικών Ξάνθη, 12 Μαΐου 2015 Χωρική Συνοχή σύνολο αρχών για την αρμονική,

Διαβάστε περισσότερα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές 10 Ανεξαρτησία 10.1 Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές Στην παράγραφο αυτή δουλεύουμε σε χώρο πιθανότητας (Ω, F, P). Δίνουμε καταρχάς τον ορισμό της ανεξαρτησίας για ενδεχόμενα,

Διαβάστε περισσότερα

Αντικειμενοστραφής. Προγραμματισμού

Αντικειμενοστραφής. Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Σημερινό μάθημα Μειονεκτήματα Δομημένου Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Ορισμοί Κλάσεις Αντικείμεναμ Χαρακτηριστικά ΑΠ C++ Class 1 Δομημένος Προγραμματισμός

Διαβάστε περισσότερα

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π. Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π. Θεωρία Παιγνίων (;) αυτά είναι video παίγνια...... αυτά δεν είναι θεωρία παιγνίων

Διαβάστε περισσότερα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές 10 Ανεξαρτησία 10.1 Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές Στην παράγραφο αυτή δουλεύουμε σε χώρο πιθανότητας (Ω, F, P). Δίνουμε καταρχάς τον ορισμό της ανεξαρτησίας για ενδεχόμενα,

Διαβάστε περισσότερα

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα Τα βιβλία διακριτών μαθηματικών του Γ.Β. Η/Υ με επεξεργαστή Pentium και χωρητικότητα

Διαβάστε περισσότερα

Eισηγητής: Μουσουλή Μαρία

Eισηγητής: Μουσουλή Μαρία Eισηγητής: Μουσουλή Μαρία Κινητική Μάθηση Μέρος Πρώτο : Ανθρώπινη απόδοση εκτέλεση 1. Εισαγωγή «Η ικανότητα που έχει κάποιος, να πετυχαίνει ένα τελικό αποτέλεσμα με την μεγαλύτερη δυνατή σιγουριά και τη

Διαβάστε περισσότερα

Συμπεριφοριακή Επιχειρηματικότητα

Συμπεριφοριακή Επιχειρηματικότητα Συμπεριφοριακή Επιχειρηματικότητα Great talent can come from anywhere, free your mind Το ταλέντο μπορεί να εμφανιστεί από οπουδήποτε, ελευθερώστε το μυαλό σας 1 Επιχειρηματίας Entrepreneur Γαλλική προέλευση

Διαβάστε περισσότερα

Βελτίωση Εικόνας. Σήμερα!

Βελτίωση Εικόνας. Σήμερα! Βελτίωση Εικόνας Σήμερα! Υποβάθμιση εικόνας Τεχνικές Βελτίωσης Restoration (Αποκατάσταση) Τροποποίηση ιστογράμματος Ολίσθηση ιστογράμματος Διάταση (stretching) Ισοστάθμιση του ιστογράμματος (histogram

Διαβάστε περισσότερα